读书人

设置环境变量的有关问题

发布时间: 2012-10-18 13:46:55 作者: rapoo

设置环境变量的问题
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,LPARAM("Environment"), SMTO_ABORTIFHUNG, 5000, &MsgResult);

我在网上找到很多C#的代码,但是没有vb.net的,这条代码在vb里面是通不过的啊

LPARAM("Environment"),VB里面没有这种写法的,我试着把第四个参数改成string,运行是没问题,但是好象不起作用....

[解决办法]
看代码好象是vc的。

不象是c#的。

如果是c#的也就是个函数。
vb.net下面也有。
System.Environment .GetFolderPath (Environment.SpecialFolder )
这个c#,vb.net通用。
如果是vc的。看名字这个也可以用。
[解决办法]
SendMessageTimeout是一个api函数,不能直接使用,你需要引入后才可以
[DllImport],这个你搞.net的总该知道吧
[解决办法]
<DllImport("user32.dll", SetLastError:=True)> _
Public Shared Function SendMessageTimeout(ByVal hWnd As IntPtr,
ByVal msg As Integer,
ByVal wParam As IntPtr,
ByVal lParam As IntPtr,
ByVal flags As SendMessageTimeoutFlags,
ByVal timeout As Integer,
ByRef result As IntPtr) As IntPtr
End Function

Const HWND_BROADCAST As Integer = &HFFFF
Const WM_SETTINGCHANGE As Integer = &H1A

Public Enum SendMessageTimeoutFlags
SMTO_NORMAL = 0
SMTO_BLOCK = 1
SMTO_ABORTIFHUNG = 2
SMTO_NOTIMEOUTIFNOTHUNG = 8
End Enum

参考

http://stackoverflow.com/questions/9021105/vb-net-compatible-sendmessage-and-sendmessagetimeout-apis

读书人网 >VB Dotnet

热点推荐