- - PR -
環境変数について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-05 10:00
お世話になります。
ターミナルサービス上等でユーザ環境変数を取得するVBSやVB.NETを起動し、 コマンドプロンプトのSETで確認した所、即時反映されません。 一度ログオフしてログオンし直すと値を取れているようです。 以前の環境変数値を取得してそうなため、以下のサイトの内容ではないかと 考えています。 http://support.microsoft.com/kb/104011/ja 即時反映させる方法が書いてありますが、いまいち内容が分からない為 どなたかご存知の方がいらっしゃいましたらお教え頂けないでしょうか。 | ||||
|
投稿日時: 2007-11-05 13:56
SendMessageTimeoutはAPI(SDKとも言う)の関数です。
VBでの使用方法は判りますが、.NETでの使用方法が判らないので 検索してみたら下記のサイトがヒットしました。 .NetでのAPI関数の使用方法はこちらから。 http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html MSDNサイトでのSendMessageTimeout関数についてはこちらから。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_sendmessagetimeout.asp | ||||
|
投稿日時: 2007-11-05 17:59
あまり.NETに詳しくないため、お尋ねしたいのですが
SendMessageTimeoutを Private Declare Function SendMessageTimeout Lib "user32" Alias "SendMessageTimeoutA" _ (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As _ Long, ByVal fuFlags As Long, ByVal uTimeout As Long, ByVal lpdwResult As _ Long) As Long の様に宣言し、環境変数登録後に Ret = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,・・・ とすれば良いのでしょうか。 | ||||
|
投稿日時: 2007-11-05 18:16
すでに上総さんが回答されているとおり、困った時は P/Invoke.net ウマーです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-11-06 11:13
ご回答ありがとうございます。
<DllImport("User32.dll"> はC#でしょうか。 大変ご面倒かとは思いますが、VB.NETの記述が分かりましたら ご教授頂けますでしょうか。 尚、私の環境では何故かインストールしてもPINVOKE.NETが動かない様です。 (VS2005 ExpressEdition) 特別な設定等は無いと記述されているのですが・・・ | ||||
|
投稿日時: 2007-11-06 11:29
VB.NET ですけど? (C# だと [DllImport...] ですから) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-11-06 12:23
<DLLImport("User32.dll">では無く、<DllImport("User32.dll")>のスペルミスかと。
あとはSMTO_ABORTIFHUNG・SMTO_BLOCK・SMTO_NORMAL・SMTO_NOTIMEOUTIFNOTHUNGの 定数の値が判れば問題無いかと思われます。 下記のページにSMTO_ABORTIFHUNG・SMTO_BLOCKの2つの定数の値が、サンプルソース上 に記述されています。 (サンプルと言っても、今回の質問で挙げられている状態と全く同じという訳では ありませんので御注意下さい。) http://support.microsoft.com/kb/231844/ja VB6.0のAPIビューアがあれば定数の値が判別したかも知れませんが、無いなら無いで Windows.hがローカルマシンにあると判断がつくかと思います。 | ||||
|
投稿日時: 2007-11-06 12:29
すいません、SendMessageTimeoutでググったら下記のページがヒットしました。
http://yokohama.cool.ne.jp/chokuto/advanced/function/SendMessageTimeout.html 一応、定数の値が記載されていますので、参考になるかと思います。 |