2012-05-13 53 views
1

我在一個名爲Titanium的基於JS的框架中編寫了一個應用程序。這個框架沒有一些功能,所以我捆綁了autohotkey,並使用STDIN/STDOUT來連接這兩個。 Autohotkeys有一個很酷的功能DllCall,它允許與操作系統相互配合,並應該幫助我縮小基於JS的框架和缺少的功能之間的差距。關於Windows DLL的一些問題?

爲了舉一個例子,Titanium允許我綁定到特定的端口。但是,如果我綁定到0並讓操作系統選擇一個空閒端口(它應該),它將起作用,但是無法確定它實際綁定到的端口。

現在因爲我來自web應用程序,所以DLL對我來說是新的;所以我有幾個問題:

  1. 是否有像所有的DLL和所有他們的方法的大文檔?
  2. 如何知道某些方法是否依賴某些服務?我的意思是我聽說過一些依靠RPCs,COM,COM +,WMIs等用戶可以關閉,如果這樣做,這些方法將無法正常工作。是否還有一個地方可以讓我獲得更多信息?
  3. 是否有任何現成的DLL和他們的方法,我可以相信他們可以在XP中以100%的速度工作到7?
  4. 我應該知道哪些訪問權限?他們是否有記錄。
  5. 如果你也來自網絡編程,還有什麼我應該知道的?

非常感謝。

+0

這包含在MSDN提供的Windows API文檔中。你需要的具體功能是getsockname()。當你發現僅僅調用函數是不夠的,你還需要給它們提供適當的參數。獲取您需要的套接字句柄getsockname()應該很難,這些是庫有意隱藏的實現細節。 –

+0

我發現的例子似乎處理打開句柄,傳遞參數和關閉這些句柄;但爲什麼他們故意隱藏實施細節? –

+0

不是Windows SDK函數,您的Titanium框架。 –

回答

1

你可以在MSDN上在線或使用Windows SDK的文檔找到所有Windows API函數(駐留在DLL中)的大部分完整文檔。

例如查看文檔SHGetSpecialFolderPath。在那裏你可以找到各種信息,如DLL(shell32.dll),任何先決條件(最小IE 4)和平臺可用性。 (至少Windows 2000)還記錄了安全考慮因素。

以這種方式或多或少地記錄了所有API函數。一個好的起點是Windows Developer Reference。從那裏你可以瀏覽許多API函數。

0

基本上回答每一個問題是,你應該在MSDN中查找你所感興趣的功能或API和閱讀存在的文檔:

http://msdn.microsoft.com/en-us/library/ms123401.aspx

他們記錄其操作系統的功能都可用因此應該很容易編寫在Windows XP中運行的某些內容。