PC側から、デバイスの処理を検知したり、デバイスを操作したりするプログラムを書きたいです。
例えば、
USBメモリカードが挿されたら、
それをハンドリングして、そのUSBメモリに「Hello world」と書かれたテキストファイルを保存するなどをしたり、
例えば、スマートフォンとPCを接続して、
スマートフォンの電源を入れたら、スマートフォンに「Hello world」とポップアップを出すなどです。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
イメージでは、
(1)ドライバをPCにインストールしておく
(2)上述のUSBメモリの例でいえば、PCのUSBポートの状態を、0.1秒ごとに、ステータスを取得するOSのAPIをコールして、状態をチェックする。
(3)ドライバが持っているAPI?なのか、デバイス製造会社が提供するAPI?なのか、
何かしらの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をコール
で合っているということで良いのでしょうか?
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が公開しているものを使えば、色々できそうですね!
ありがとうございます!
お探しの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ランキング
-
へんな現象
-
研究室志望の提出文書
-
応用情報技術者試験の令和元年...
-
gccを行ってもexeファイルが生...
-
質問失礼します。 プログラム言...
-
Notepad++の関数リスト表示でC...
-
Windows formアプリで データグ...
-
Linux Cプログラミングを学ぶた...
-
トリプトファンってケト原性あ...
-
c言語
-
MACで動く実行ファイルをWindow...
-
C言語 列挙型(enum型)変数について
-
右ビットシフト
-
mallocについて
-
C言語 配列と関数の練習問題
-
Bitcoin、BTCはブロックチェー...
-
C++6.0でのresource.hについて
-
VisualStudio2022でC言語プログ...
-
大量のデータを読み込んで表示...
-
c言語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リモートデスクトップでクライ...
-
OSなしでMACアドレスを確認する...
-
リカバリーディスクからドライ...
-
IOポート制御で電圧が落ち切らない
-
usbメモリが認識しない
-
「デバイスドライバ」について...
-
変換名人(usb-lan)のインスト...
-
HPサーバーのセットアップについて
-
SRC06-USBのドライバ
-
usb 不具合
-
AKI-H8-USBについて
-
AKI-H8 3048 USB開発のドライバ
-
USB3.0のドライバとか
-
Linux Mint14でサウンドカード...
-
AL-N2T520J5で、PCカードが認識...
-
usbカメラが認識しない
-
MACアドレスの申請
-
【VMWare】仮想PCの移動について
-
外付けHDDのドライバがインスト...
-
イーサネットコントローラーって?
おすすめ情報