![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
OSなしでMACアドレスを確認する...
-
usb 不具合
-
デバイスの操作をしたい。
-
SRC06-USBのドライバ
-
ARCServeの惨事復旧について
-
NVIDIA 削除の影響
-
頻繁にジャックの抜き差しをす...
-
PS/2端子はなぜ抜き差しをした...
-
HDMI端子の耐久性
-
USBジャックは何回の抜き差しに...
-
Windows7でFNキーが使えない
-
microSDカードについてです。頻...
-
WIN2000が起動しなくなりました...
-
10年前程に購入した、ワコムの...
-
Intel HD Graphicsについて
-
Dynabook AX/55E プリインストV...
-
PCのUSB端子の差込口を柔...
-
ThinkPad Wireless 2200BG
-
起動中の抜き差し
-
RSS
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OSなしでMACアドレスを確認する...
-
リカバリーディスクからドライ...
-
usb 不具合
-
リモートデスクトップでクライ...
-
AKI-H8-USBについて
-
IOポート制御で電圧が落ち切らない
-
SRC06-USBのドライバ
-
UNITYからAndroidが認識されません
-
Linux Mint14でサウンドカード...
-
外付けHDDのドライバがインスト...
-
Windows10 管理者権限
-
昨日までネットに繋がっていた...
-
FMV E8240にWIFIカード認識方法
-
Windows2000Serverエラー(長文)
-
vista realtek 正しく動作しま...
-
ネットワークアダプタのドライ...
-
ネットワークコントローラーを...
-
プロシージャ エントリ ポイ...
-
Windows10にアップグレードした...
-
usbメモリが認識しない
おすすめ情報