2011-08-25 30 views
2

在做一個DLL導入這樣的:我怎樣才能發現在非託管的DLL提供給我的方法

[DllImport("user32.dll")] 
    static extern bool SwapMouseButton(bool fSwap); 

    private void button1_Click(object sender, EventArgs e) 
    { 
     SwapMouseButton(false); 
    } 

一個如何去知道有一個內user32.dll稱爲SwapMouseButton方法,它接受布爾參數並返回一個布爾值?

很明顯,沒有智能感知可以節省一天的時間。那麼有沒有一個網站列出了這一切,或者我可以鍵入user32.dll進入該程序,我會發現它?

+0

您不搜索DLL。您可以在MSDN中搜索所需的功能,然後鏈接到相應的.h .lib和.dll –

+0

@David,看起來像MSDN現在有一個很酷的快速參考頁面。 http://msdn.microsoft.com/en-us/library/ms123401.aspx –

+0

@Nick:感謝您的鏈接。我沒有看到那個頁面;這是一個方便的參考。 –

回答

2

'的User32.dll」是Windows API本身的一部分,而在API中MSDN記錄。尋找事物的典型方法是決定你想要做什麼,然後搜索該主題。

無法找到非託管DLL函數的參數。您可以通過depends.exe(VS的一部分)或DependencyWalker找到功能的名稱(通常)。雖然這不會給你參數,那些必須從圖書館的文件中獲得。