プロが教える店舗&オフィスのセキュリティ対策術

PC側から、デバイスの処理を検知したり、デバイスを操作したりするプログラムを書きたいです。

例えば、
USBメモリカードが挿されたら、
それをハンドリングして、そのUSBメモリに「Hello world」と書かれたテキストファイルを保存するなどをしたり、

例えば、スマートフォンとPCを接続して、
スマートフォンの電源を入れたら、スマートフォンに「Hello world」とポップアップを出すなどです。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

イメージでは、
(1)ドライバをPCにインストールしておく
(2)上述のUSBメモリの例でいえば、PCのUSBポートの状態を、0.1秒ごとに、ステータスを取得するOSのAPIをコールして、状態をチェックする。
(3)ドライバが持っているAPI?なのか、デバイス製造会社が提供するAPI?なのか、
何かしらのAPIをコールして、デバイスの操作をする??
(※あまり想像できていません。。そもそも、マルチデバイス対応するなら、事前に処理対象とするデバイスを定義しないかぎり無理??)

また、こういう制御についてを中心に書かれた、何らかのお勧めの書籍などはありますでしょうか?
なるべく難易度の低いものが良いです。

A 回答 (2件)

>で合っているということで良いのでしょうか?



だからOSはなんです?
と聞いているのですが……。

>(2)上述のUSBメモリの例でいえば、PCのUSBポートの状態を、0.1秒ごとに、ステータスを取得するOSのAPIをコールして、状態をチェックする。

今時のOSならわざわざポーリングしなくても通知する仕組みとかあったりしますよ。
WindowsならWM_DEVICECHANGEとか。
「WM_DEVICECHANGE USBメモリ 検出」辺りで検索すればコード例くらい見つかるでしょう。
LinuxならuDEVなどでの通知も受けられるでしょう。
「Linux USBメモリ 検出」辺りでも見つかるでしょう。

ポーリングの有無を除けば、大筋合っているとは思いますが。
ドライバやAPIの有無は判りませんが。
固有のドライバあったとしてAPIが公開されているか?って問題はありますしね。
# メーカーによっては契約することでAPIとか開示して貰えるかも知れませんが。
    • good
    • 0
この回答へのお礼

失礼しました。
Windowsです。

WM_DEVICECHANGE、すごいです!
便利ですね!

USBなり、スマートフォンなり、カードリーダなり、CD-ROMデバイスなり、プリンタなり、APIが公開しているものを使えば、色々できそうですね!

ありがとうございます!

お礼日時:2013/06/29 21:57

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をコール

で合っているということで良いのでしょうか?

補足日時:2013/06/29 14:21
    • good
    • 0
この回答へのお礼

ありがとうございます。
上の方でお礼書かせていただきます。

お礼日時:2013/06/29 21:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!