使用 VS.NET 開發 Lotus Notes Client Application 前置作業

請照下面作法設定開發環境的機器:

1. 安裝 Notes Client (我用的是 Domino Client 6.5)
2. 開 VS.Net 2003 Command line, 執行 tlbimp domobj.tlb (在 C:\Program Files\lotus\notes\), 這會把 domobj.tlb 轉為 Domino.dll (可被 .NET Reference)
3. 執行 regsvr32 “C:\Program Files\lotus\notes\nlsxbe.dll” 註冊這支 DLL (必要)
4. 程式中 Reference 剛剛產生的 Domino.dll,接著就可以 using Domino 並用:PLAIN TEXTC#:

  1.  
  2. static void Main(string[] args)
  3. {
  4.     string NotesPassword = “[email protected]”;
  5.     string NotesHost = “domino/admin/01”;
  6.     Console.Write (“SERVER [(domino/admin/01)] : “);
  7.     NotesHost = Console.ReadLine();
  8.     Console.Write (“PASSWORD: “);
  9.     NotesPassword = Console.ReadLine();
  10.     Say (“Try login to server, please wait…”);
  11.  
  12.     Domino.NotesSession ns = new NotesSession();
  13.     ns.Initialize (NotesPassword);
  14.     Say (“Sesstion Initialized!”);
  15.     Domino.NotesDatabase ndb = ns.GetDatabase (NotesHost, @”mynotesdb.NSF”, true);   
  16.     Say (“Connected to DB: ” + ndb.Title);
  17.     DisplayDocuments (ndb);
  18.     Say (“Program terminated, press any key…”);
  19.     Console.Read();
  20. }
  21.  
  22. // ——————————————————————–
  23. static public void DisplayDocuments(Domino.NotesDatabase ndb)
  24. {
  25.     Domino.NotesDocumentCollection ndc = ndb.AllDocuments;
  26.     // LOOP DB DOCUMENTS
  27.     for (int i=1;i<ndc.Count;i++)
  28.     {
  29.         Domino.NotesDocument nd = ndc.GetNthDocument (i);
  30.         foreach (object no in (object[]) nd.Items)
  31.         {
  32.             Domino.NotesItem ni = (Domino.NotesItem) no;
  33.             Say (ni.Name + ” (” + ni.type.ToString() + “): \t\t” + ni.Text);
  34.         }
  35.         Say (“========================================================”);
  36.     }
  37. }
  38.  
  39. // ——————————————————————–
  40. static public void Say(string S)
  41. {
  42.     Console.WriteLine (S);
  43. }
  44.  

這樣可以連得到 Domino Server…

Tips:
執行 ildasm Domino.dll 可以讓你看到裡頭有甚麼東西可以使用的….

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *