私の学校プロジェクトの申請を現在行っています。 USBドライブを USBポートに挿入したときにアプリケーションを作成するにはどうすればログインフォームが自動的に表示され、 ログインが最初に行われ、成功すればユーザーはUSBドライブを使用できます(USBポートが有効になります)。 イム使用してWindows 7、vb.net 2010、私のアプリケーション名がPutLockで、このアプリ がドライブCのおかげ^^私は、インターネット上でこの解決策を見つけたUSBドライブが接続されているときにアプリケーションを自動的に実行するにはどうすればいいですか?
0
A
答えて
0
にインストールされます、このコードは、MINEではありません! しかしいまいましい、それは本当によく働く:
Imports System.Runtime.InteropServices
パブリック・クラスのForm1
Private Const WM_DEVICECHANGE As Integer = &H219
Private Const DBT_DEVICEARRIVAL As Integer = &H8000
Private Const DBT_DEVTYP_VOLUME As Integer = &H2
'Device information structure
Public Structure DEV_BROADCAST_HDR
Public dbch_size As Int32
Public dbch_devicetype As Int32
Public dbch_reserved As Int32
End Structure
'Volume information Structure
Private Structure DEV_BROADCAST_VOLUME
Public dbcv_size As Int32
Public dbcv_devicetype As Int32
Public dbcv_reserved As Int32
Public dbcv_unitmask As Int32
Public dbcv_flags As Int16
End Structure
'Function that gets the drive letter from the unit mask
Private Function GetDriveLetterFromMask(ByRef Unit As Int32) As Char
For i As Integer = 0 To 25
If Unit = (2^i) Then
Return Chr(Asc("A") + i)
End If
Next
End Function
'Override message processing to check for the DEVICECHANGE message
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_DEVICECHANGE Then
If CInt(m.WParam) = DBT_DEVICEARRIVAL Then
Dim DeviceInfo As DEV_BROADCAST_HDR
DeviceInfo = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_HDR)), DEV_BROADCAST_HDR)
If DeviceInfo.dbch_devicetype = DBT_DEVTYP_VOLUME Then
Dim Volume As DEV_BROADCAST_VOLUME
Volume = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_VOLUME)), DEV_BROADCAST_VOLUME)
Dim DriveLetter As String = (GetDriveLetterFromMask(Volume.dbcv_unitmask) & ":\")
If IO.File.Exists(IO.Path.Combine(DriveLetter, "test.txt")) Then
'<<<< The test file has been found >>>>
MessageBox.Show("Found test file")
Else
'<<<< Test file has not been found >>>>
MessageBox.Show("Could not find test file")
End If
End If
End If
End If
'Process all other messages as normal
MyBase.WndProc(m)
End Sub
エンドクラス
関連する問題
- 1. USB HIDデバイスが接続されているときにusbidが自動ロードされないようにする
- 2. Qtアプリケーションでシステムに接続されているUSBドライブについて通知するにはどうすればいいですか?
- 3. USBドライブにプラグインしている間に自動実行appilication
- 4. USBドライブから実行されているかどうかを検出する
- 5. インターネットに接続していないときにアプリケーションが実行されないようにする方法
- 6. fbですでに接続されている人物を自動的に接続できますか?
- 7. アプリケーションが起動したときにGUIコードを実行するにはどうすればいいですか?
- 8. USBデバイスが接続されているときにAndroidアプリケーションが再起動する
- 9. Ubuntu Linux - USBデバイスが接続されているときにアプリケーションを起動する
- 10. LANに接続され、ルータ経由でインターネットに接続されているコンピュータに接続するにはどうすればよいですか?
- 11. アンドロイド:USB/HDMI経由でAndroid携帯をプロジェクターに接続するにはどうすればいいですか?
- 12. 同じUSBハブに接続されている同一のUSBデバイスを区別するにはどうすればよいですか?
- 13. Windows Mobile 6エミュレータと3G USBドングルを接続するにはどうすればいいですか?
- 14. 特定のUSBデバイスが接続されているかどうかを確認するにはどうすればよいですか?
- 15. USBスロットにどのデバイスが接続されているかを特定するにはどうすればよいですか?
- 16. C#アプリケーションからUSBドライブ文字を検出するにはどうすればよいですか?
- 17. Javascript:リンクされているURLリンクを自動的に開くにはどうすればよいですか?
- 18. アクティビティの開始時に自動的にタスクを実行するにはどうすればよいですか?
- 19. Androidアプリケーションをビルドするときにcheckstyleを実行するにはどうすればいいですか?
- 20. アプリケーションでサルテストを実行するにはどうすればいいですか?
- 21. IISからアプリケーションを実行しているときに接続プロパティが初期化されていない
- 22. Dockerで実行中の別のNodeAppにnodeAppを接続するにはどうすればいいですか?
- 23. DefaultMessageListenerContainerが自動的に起動しないようにするにはどうすればよいですか?
- 24. LinqとMySqlを接続するにはどうすればいいですか
- 25. JScrollPaneが自動的にスクロールしないようにするにはどうすればいいですか?
- 26. exeファイルが実行されているドライブを見つけるにはどうしたらいいですか?
- 27. Piwikデータベース接続を動的に変更するにはどうすればいいですか?
- 28. アプリケーションをAndroidで連続して実行するにはどうすればいいですか?
- 29. ダーツサーバーのWebアプリケーションでdart2jsを動的に実行するにはどうすればよいですか?
- 30. テーブル内の接続された行が実際に接続されているかどうかのテスト
あなたは、USBを接続し、そこから行くされているかどうかを検出するために、コードを使用することができます:[リンク]( http://stackoverflow.com/questions/23225170/failed-to-detect-usb) –
この記事は面白い読んだものですが、いくつかの助けになるかもしれません:[link](http://www.samlogic.net/articles /autorun-usb-flash-drive.htm) –
ありがとうございます! – asa