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ランキング
-
どなたかこのプログラミングを...
-
ArduinoのジャイロモジュールMP...
-
chatgptでつくってもらったコー...
-
Notepad++の関数リスト表示の変...
-
WindowsのCapsLock(キャップス...
-
これなにがちがうんですか??
-
卒業研究でよく分からないとこ...
-
あなたは、Excelはどうやって学...
-
Linuxでの開発環境構築や設定の...
-
c言語
-
Int('1234') で、strをかんたん...
-
gcc13.2のバグ?
-
C言語をコンパイルするとコンピ...
-
システムエンジニアの適正について
-
ArduinoでMouse関数を使用して...
-
double型が正常に認識されてい...
-
質問失礼します。 プログラム言...
-
だいがくの電し書籍で
-
プログラミング言語の制作方法...
-
終端記号、非終端記号とは
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リモートデスクトップでクライ...
-
OSなしでMACアドレスを確認する...
-
usb 不具合
-
リカバリーディスクからドライ...
-
IOポート制御で電圧が落ち切らない
-
外付けHDDのドライバがインスト...
-
usbメモリが認識しない
-
自作パソコンでLANを使った有線...
-
AL-N2T520J5で、PCカードが認識...
-
Linux Mint14でサウンドカード...
-
【VMWare】仮想PCの移動について
-
IwillというメーカのUS...
-
変換名人(usb-lan)のインスト...
-
SRC06-USBのドライバ
-
HPサーバーのセットアップについて
-
イーサネットコントローラーって?
-
デバイスの操作をしたい。
-
AKI-H8 3048 USB開発のドライバ
-
MACアドレスの申請
-
USB3.0のドライバとか
おすすめ情報