![](/img/trans.png)
[英]How can I embed a windows media player in my c#.net web application in visual studio 2005
[英]How to add reference to a COM component in my project in C#.NET in Visual Studio 2005?
如何在应用程序中添加对COM DLL的引用?
我试图添加kernel32.dll
和user32.dll
但这些不支持。
user32.dll等不是COM dll。 例如,您将需要通过[DllImport]
使用P / Invoke(来自msdn ):
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text,
String caption, uint type);
您无需添加对kernel32.dll或user32.dll的引用。 这些DLL是Windows的一部分,可以在您的代码中导入而无需添加引用。 您可以使用P / Invoke执行此操作。
例如,要在user32.dll中调用函数SendMessage,可以使用以下C#代码:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
有关这些DLL中方法的更多信息和代码片段,请查看P / Invoke Wiki 。
编辑:您还可以从MSDN杂志上查阅此文章,以获取有关P / Invoking的更多信息,尤其是作者对样式和最佳实践的一些评论。
要在Visual Studio 2005中引用COM组件,请执行以下操作:
可能您实际上想要做的是调用驻留在DLL中的非托管函数。 为此,您需要使用P / Invoke。
Marc Gravell的答案涵盖了此语法,但是您可以通过查看MSDN上Platform Invoke的文档并快速找到特定功能的正确签名来获取更多信息,请访问PInvoke.net。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.