Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
ちょっと使える関数ライブラリ(2)
投稿者:sunvisor 投稿日時:2009/06/22(月) 13:29
ここでは,Windows関連の情報を得る関数を集めてみました。WSHを使っているものが多いです。
特殊なフォルダのパスを得る
Special Folder の実際の場所を得ます。引数に取得したいフォルダをVBの定数でセットします。
'/** ' * 特殊なフォルダのパスを得る. ' * @return ' * @param ASpecialFolder 以下を指定可能 ' * AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop ' * Favorites, Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent ' * SendTo, StartMenu, Startup, Templates ' */ Function GetSpecialFolder(ASpecialFolder As Variant) As Variant Dim WShell As Object Set WShell = CreateObject("WScript.Shell") GetSpecialFolder = WShell.SpecialFolders(ASpecialFolder) End Function
Windowsにログオンしているユーザ名を得る
'/** ' * Windowsにログオンしているユーザ名を得る. ' * @return ' */ Public Function LogonUser() As String Dim WshNetwork As Object Dim strUserName As Object Set WshNetwork = CreateObject("WScript.Network") LogonUser = WshNetwork.UserName Set WshNetwork = Nothing End Function
コンピュータ名を得る
'/** ' * コンピュータ名を得る. ' * @return ' */ Public Function ComputerName() As String Dim WshNetwork As Object Dim strUserName As Object Set WshNetwork = CreateObject("WScript.Network") ComputerName = WshNetwork.ComputerName Set WshNetwork = Nothing End Function
IPAddressを得る
実はこの関数はめっちゃいい加減です。複数NICとか仮想IPとかいろいろある環境で正しくIPを取ろうと思うとこうはいきません。
'/** ' * IPAddressを得る ' * IPアドレスのうちデフォルトゲートウェイがセットされているものを取得しているだけ ' * なので違うアダプタのIPを取得する可能性もある. ' * @return ' */ Public Function IPAddress() As String Dim objWMIService, IPConfigSet, IPConfig Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set IPConfigSet = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE") For Each IPConfig In IPConfigSet If Not (IsNull(IPConfig.IPAddress) Or _ IsNull(IPConfig.DefaultIPGateway)) Then IPAddress = IPConfig.IPAddress(LBound(IPConfig.IPAddress)) Exit For End If Next End Function