PC側から、デバイスの処理を検知したり、デバイスを操作したりするプログラムを書きたいです。
例えば、
USBメモリカードが挿されたら、
それをハンドリングして、そのUSBメモリに「Hello world」と書かれたテキストファイルを保存するなどをしたり、
例えば、スマートフォンとPCを接続して、
スマートフォンの電源を入れたら、スマートフォンに「Hello world」とポップアップを出すなどです。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
イメージでは、
(1)ドライバをPCにインストールしておく
(2)上述のUSBメモリの例でいえば、PCのUSBポートの状態を、0.1秒ごとに、ステータスを取得するOSのAPIをコールして、状態をチェックする。
(3)ドライバが持っているAPI?なのか、デバイス製造会社が提供するAPI?なのか、
何かしらのAPIをコールして、デバイスの操作をする??
(※あまり想像できていません。。そもそも、マルチデバイス対応するなら、事前に処理対象とするデバイスを定義しないかぎり無理??)
また、こういう制御についてを中心に書かれた、何らかのお勧めの書籍などはありますでしょうか?
なるべく難易度の低いものが良いです。
No.2ベストアンサー
- 回答日時:
>で合っているということで良いのでしょうか?
だからOSはなんです?
と聞いているのですが……。
>(2)上述のUSBメモリの例でいえば、PCのUSBポートの状態を、0.1秒ごとに、ステータスを取得するOSのAPIをコールして、状態をチェックする。
今時のOSならわざわざポーリングしなくても通知する仕組みとかあったりしますよ。
WindowsならWM_DEVICECHANGEとか。
「WM_DEVICECHANGE USBメモリ 検出」辺りで検索すればコード例くらい見つかるでしょう。
LinuxならuDEVなどでの通知も受けられるでしょう。
「Linux USBメモリ 検出」辺りでも見つかるでしょう。
ポーリングの有無を除けば、大筋合っているとは思いますが。
ドライバやAPIの有無は判りませんが。
固有のドライバあったとしてAPIが公開されているか?って問題はありますしね。
# メーカーによっては契約することでAPIとか開示して貰えるかも知れませんが。
失礼しました。
Windowsです。
WM_DEVICECHANGE、すごいです!
便利ですね!
USBなり、スマートフォンなり、カードリーダなり、CD-ROMデバイスなり、プリンタなり、APIが公開しているものを使えば、色々できそうですね!
ありがとうございます!
No.1
- 回答日時:
OSはなんです?
Windowsだったとして…
>USBメモリカードが挿されたら、
>それをハンドリングして、そのUSBメモリに「Hello world」と書かれたテキストファイルを保存する
は、可能ではありますが。
# USBメモリに感染するウィルスだってUSBメモリの接続を検出して感染しますし、
# 接続されたUSBメモリをスキャンするウィルス対策ソフトだってあります。
>スマートフォンとPCを接続して、
>スマートフォンの電源を入れたら、スマートフォンに「Hello world」とポップアップを出す
こっちはスマホ側にそういう処理をするモノ(アプリなりAPI)がないと無理でしょうね。
# まぁWindowsMobileやWindowsPhoneでなければ、USBマスストレージとしてしか認識しないのかも知れませんが。
# iPhoneならiTunesでインストールされたドライバが検出するかもしれませんが、デバイスのコントロールはどうですかねぇ。
この回答への補足
ありがとうございます!
実装の可/不可を無視するとすれば、実装の流れは、
(1)ドライバをPCにインストールしておく
(2)上述のUSBメモリの例でいえば、PCのUSBポートの状態を、0.1秒ごとに、ステータスを取得するOSのAPIをコールして、状態をチェックする。
(3)デバイス製造会社が提供するAPIをコール
で合っているということで良いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マウス・キーボード real vnc viewer で遠隔先で操作が出来ない。 2 2023/07/24 15:00
- マウス・キーボード キーボードが動作しなくなりました。 4 2022/04/29 09:49
- プリンタ・スキャナー 印刷 キャンセル&印刷できない 2 2022/11/29 16:45
- その他(パソコン・周辺機器) デスクトップパソコンのbluetoothキーボードが、PC起動時に自動ペアリングしてくれない 1 2022/08/04 10:54
- Windows 10 Lenovoのリカバリーについて… 1 2022/07/16 09:26
- Windows 10 新規PC導入して、うっかりマイクロソフトアカウントも新規登録してしまった時の復帰方法 3 2022/06/12 16:11
- その他(OS) VirtualBoxのゲストOS起動時にUSBデバイスを自動認識したい 1 2023/05/07 14:17
- ノートパソコン PC購入ーPCに詳しい方宜しくお願いします。 3 2022/08/01 02:31
- その他(コンピューター・テクノロジー) WO mic のUSB接続でエラーが出ます。 1 2022/07/09 09:58
- ビデオカード・サウンドカード PCに接続したイヤフォンのマイクが使えません。 3 2022/10/22 11:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
インクリメント演算子のみを用...
-
応用情報技術者試験の令和元年...
-
大量のデータを読み込んで表示...
-
プログラミングについて。 1つ...
-
gccを行ってもexeファイルが生...
-
Windows formアプリで データグ...
-
右ビットシフト
-
【C言語】全角文字の配列を、全...
-
c言語
-
C言語をコンパイルするとコンピ...
-
Stuck
-
ArduinoでMouse関数を使用して...
-
写真のプログラムは、1からnま...
-
Windows Formアプリからコンソ...
-
win10で、正確な待ち時間の作り方
-
Notepad++の関数リスト表示の変...
-
WindowsのCapsLock(キャップス...
-
Notepad++の関数リスト表示でC...
-
だいがくの電し書籍で
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リモートデスクトップでクライ...
-
OSなしでMACアドレスを確認する...
-
リカバリーディスクからドライ...
-
IOポート制御で電圧が落ち切らない
-
「デバイスドライバ」について...
-
usbメモリが認識しない
-
変換名人(usb-lan)のインスト...
-
usb 不具合
-
HPサーバーのセットアップについて
-
SRC06-USBのドライバ
-
AKI-H8-USBについて
-
AKI-H8 3048 USB開発のドライバ
-
USB3.0のドライバとか
-
Linux Mint14でサウンドカード...
-
usbカメラが認識しない
-
MACアドレスの申請
-
イーサネットコントローラーって?
-
AL-N2T520J5で、PCカードが認識...
-
【VMWare】仮想PCの移動について
-
Logicoolのワイヤレスマウスが...
おすすめ情報