VB.Net中实现VB6中的App.hInstance
by sandy_zc_1 (把n久前自己发在FM吧中的东西转到自己的blog上,汗)
-----------当时的原文↓↓-----------------------------------------------------------------------------------------------------------
VB.Net中实现VB6中的App.hInstance
查了半天,终于找到了一个可用的方法,.Net真是麻烦啊。
先
Imports System.Runtime.InteropServices
然后定义
Dim hInstance as IntPtr
再定义
Dim mdl() As System.Reflection.Module = System.Reflection.Assembly.GetExecutingAssembly.GetModules
最后
hInstance=Marshal.GetHINSTANCE(mdl(0))
如果要传API的话,还得把IntPtr转Int32
Dim hInstance32 as Int32 =hIsntance.ToInt32
这段时间搞.Net,感触真多啊,感觉M$为了做跨平台,把.Net搞的太脱离Win32了,结果现在跨平台没有进展多少,Win32编程倒是麻烦了不少。不爽啊。
---------------当时的原文↑↑------------------------------------------------------------------------------------------------------
现在.Net用得多了,回头来看还是感到比较汗。发现当时对Win32编程的理解也还不够,现在看来.Net有些很麻烦的地方其实还是有道理的。
其实抛开M$那一套,.Net还是不错的。