![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
> コンピュータのロックをするfunctionを作成したいです
何のために? 目的を提示しないと的外れなアドバイスになって
しまいそうですが。。
関数にする意図もよくわかりませんが...何個かサンプルを。
全て Windows2000、XP 限定です。Win9x 系 OS や NT では動きません。
■方法1. Shell を使う
Shell "rundll32.exe user32.dll,LockWorkStation"
■方法2. LockWorkStation API を使う
Private Declare Function LockWorkStation Lib "user32.dll" () As Long
Sub SampleProc()
If LockComputer() = False Then
MsgBox "ロックできません", vbCritical
End If
End Sub
' // OS をロックする(無理やり関数にしてみた)
Public Function LockComputer() As Boolean
LockComputer = CBool(LockWorkStation() <> 0)
End Function
■方法3. [Windows]+[L] キーシュミレート
Private Declare Sub keybd_event Lib "user32.dll" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Const VK_LWIN As Long = &H5B
Private Const KEYEVENTF_KEYUP = &H2
Private Const KEYEVENTF_KEYDOWN = &H0
' // [Win]+[L] のキーシュミレート
Public Sub LockComputer()
Call keybd_event(VK_LWIN, 0&, KEYEVENTF_KEYDOWN, 0&)
Call keybd_event(vbKeyL, 0&, KEYEVENTF_KEYDOWN, 0&)
Call keybd_event(vbKeyL, 0&, KEYEVENTF_KEYUP, 0&)
Call keybd_event(VK_LWIN, 0&, KEYEVENTF_KEYUP, 0&)
End Sub
■方法4. WMI を使う(調べてないけど多分できるはず)
こんなところ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Excel(エクセル) 上から順にすべてのデータを抽出したい 3 2023/08/25 15:29
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- その他(Microsoft Office) OneDrive Personalについて 1 2022/08/02 18:25
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- LANケーブル・USBケーブル USBの給電 7 2022/09/16 08:27
- Visual Basic(VBA) ChatGPTに作らせたい Excel VBA 1 2023/04/05 19:56
- Java Java 石取りゲーム 3 2023/02/02 15:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC++6.0 でのライブラリ参照方法
-
visual studioの不要なDll削除方法
-
VB6.0(SP6)にて開発を行なって...
-
cl.exeを実行すると、ダイアロ...
-
wavからmp3に変換する方法
-
VB2005ExpressEditionでのUnlha...
-
実行プログラムがwindows DLL ...
-
AppVer: 7.0.5730.11 ModName: ...
-
M365にアップデートしてからコ...
-
res://ieframe.dll/について
-
指定された引数が有効範囲にな...
-
VB.NET xdoc2txtをつかってPDF...
-
VB2003で レジストリを格納する
-
ウインドウズxpの「ファイルを...
-
dllが見つからないのですが・・・
-
ファイルをvbaで圧縮したいので...
-
実行ファイルからソースファイ...
-
DirectX9SDK(August2005)作品に...
-
dllのロードアドレスについて
-
C# DLL エントリ ポイントが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
visual studioの不要なDll削除方法
-
ファイルをvbaで圧縮したいので...
-
VB6.0(SP6)にて開発を行なって...
-
res://ieframe.dll/について
-
C# DLL エントリ ポイントが...
-
ASP.NETのDLL入れ替えについて
-
WIN10で常にフォームを手前に
-
VBAエディタのコード画面で、カ...
-
VB.NET xdoc2txtをつかってPDF...
-
VC++6.0 でのライブラリ参照方法
-
MFC7.0ランタイムライブラリ
-
指定された引数が有効範囲にな...
-
user32.dllがないためアプリが...
-
自作のDLLがみつからない
-
VBからIMEパッドを呼び出す方法...
-
dllをいじる。。
-
vb6で作成した画面が処理に時間...
-
M365にアップデートしてからコ...
-
[VBA]64b版-行数表示.dllの登録...
-
*.exeと異なるフォルダのDLLを...
おすすめ情報