如何直接調用從DLL導出的本機函數?有人能給我一個小例子嗎?如何直接調用從DLL導出的本機函數?
-1
A
回答
1
這裏是在行動DllImport
屬性的一個簡單的例子:
using System.Runtime.InteropServices;
class C
{
[DllImport("user32.dll")]
public static extern int MessageBoxA(int h, string m, string c, int type);
public static int Main()
{
return MessageBoxA(0, "Hello World!", "Caption", 0);
}
}
此示例顯示聲明在本機中實現的C#方法的最低要求e DLL。方法C.MessageBoxA()
使用靜態和外部修飾符聲明,並具有DllImport
屬性,該屬性告知編譯器該實現來自user32.dll,使用默認名稱MessageBoxA。
2
class PlatformInvokeTest
{
[DllImport("msvcrt.dll")]
public static extern int puts(string c);
[DllImport("msvcrt.dll")]
internal static extern int _flushall();
public static void Main()
{
puts("Test");
_flushall();
}
}
如果您需要從本地DLL生成C#的DllImport聲明,看這個帖子:Generate C# DLLImport declarations from a native dll
2
取決於你想要什麼......我在我的代碼是這樣的,但這使用Win32 API的DLL
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
然後就叫
GetForegroundWindow()
好像在類裏定義的一樣
相關問題
- 1. 如何直接從CodeSmith生成服務DLL調用SQL函數
- 2. 如何導出dll函數?
- 3. 從.net DLL導出本地C函數?
- 4. 如何從vb6調用本機C DLL
- 5. 從C++ dll導出函數返回字符串從c#調用
- 6. 是否有任何本機DLL導出函數查看器?
- 7. 如何從本身調用導出的函數?
- 8. 如何使用從C++中的DLL導出的函數?
- 9. 如何從VB調用C++ DLL函數?
- 10. 如何從VBScript調用C#DLL函數
- 11. 如何從Ruby調用Windows DLL函數?
- 12. 如何直接調用NdrClientCall2()函數?
- 13. 從DLL調用函數?
- 14. 從VB6調用DLL函數
- 15. 從matlab調用dll函數
- 16. 從dll導出函數唯一序號
- 17. C++函數導出在DLL和從C#
- 18. 如何直接從Android中的活動調用JavaScript函數?
- 19. 如何從C++中的DLL導出純虛函數?
- 20. 如何從.dll(系統)獲取導出的函數名稱?
- 21. 列出一個DLL的導出函數
- 22. 調用導出的函數
- 23. 從本機C++調用.NET dll
- 24. 如何從DLL中導出重載函數? Delphi Xe。
- 25. DLL導出VB6調用的C/C++ 6.00函數
- 26. System.EntryPointNotFoundException從DLL導入函數
- 27. C++導出和使用dll函數
- 28. 如何從我的dll調用函數從jquery
- 29. 導出從DLL
- 30. 調用DLL函數
你試過谷歌嗎? – 2012-04-12 11:09:58