952 :
795 :2007/01/12(金) 01:50:37
>>947 レス有難うございます。
確かにメッセージをディスパッチしてるスレッドを止めると応答なしとなることからも
単にスレッドが他の処理をやってて結果として応答なしとなってしまうようです。
>>948 レス有難うございます。
IsHungAppWindowのAPIはウィンドウハンドルをとることからもCUIのプロセスは判別が難しいかなと思いました。
やっぱり、そこまでするならクラスタリング用アプリのようにハートビートでロックしていないことを定期的に示すようにしないと無理そうです。
今回のプロセス監視プログラムは任意のアプリを監視する仕様なので残念ながらクラスタリング用の細工をプログラムにすることはできません。
もしかしたら、CUIアプリのスレッドが全てブロックされた状態になったことを検出してハングアップを検出できるかもしれませんが、
単にWaitしてブロック状態であることも考えられますのでこれもダメそうです。
またループしてた場合などは、ハングアップしたのか処理を継続してるのか判別がつかないので難しいと思います。
仮にデバッガープロセスであればインストラクション実行状況やアドレスを定期的に監視することもできますが、
それでもループ処理なのか無限ループなのかわかりません。
これは八方塞がりだと諦めています。
Jobとか使わずに、専用ユーザーつくって、runas ってのはだめなのかな? と、適当なことを書いとく・・・ どちらにしろ、すげークリティカルな相手みたいで大変だね・・・
954 :
デフォルトの名無しさん :2007/01/12(金) 16:06:28
ハリコの虎見てちんちんおっきおっき こ の 書 き 込 み を 見 た 人 は 三 年 後 に イ ン ポ に な り ま す 。 イ ン ポ に な っ て オ ナ ニ ー が 出 来 な く な る の が 嫌 な 人 は こ の 書 き 込 み と 同 じ 文 章 を 三 時 間 以 内 に 違 う ス レ に 五 回 以 上 コ ピ ペ し て く だ さ い 。 五 回 書 き 込 ま な か っ た 男 子 学 生 が 書 き 込み を 見 た 後 三 年 後 に イ ン ポに な り ま し た 。
∧_∧ n^) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´Д`/ / < 先生!すでにインポな漏れはどうなるんでしょうか? / , / \_________________ | | , 、 i ____| | | | |__ ||\ (_/ \ ||\\ \ || \|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| || || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ‖ ||
USBデバイスが接続されたときに、 1.0と2.0のどちらで接続されたかどうかを判定したいのですが そのようなAPIはありますか? できればSHCNE_DISKEVENTSのタイミングで取りたいのですが。
>>958 なつけーソースw
その内容って、2000とXPで動作が異ならない?
確か文字数が・・・
大丈夫だよおまえら 2chなくならないから
てか、普通にAPI質問箱無くなると困るんだけどなー
ム板はないと困る俺は底辺なのかな('A`)
ところで
>>970 あたりの方はお願いします
だがこ、とわる!
>>962 少なくともAPI32は情報交換って言う意味で俺には必要('A`)
('A`)←しね
('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)
('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('0`)('0`)('0`)('0`)('0`)('0`)('0`)('A`) ('A`)('A`)('0`)('A`)('A`)('0`)('A`)('A`)('A`) ('A`)('A`)('0`)('0`)('A`)('0`)('A`)('A`)('A`) ('A`)('0`)('A`)('0`)('A`)('0`)('0`)('0`)('A`) ('A`)('0`)('0`)('0`)('A`)('0`)('A`)('A`)('A`) ('0`)('A`)('A`)('0`)('A`)('0`)('A`)('A`)('A`) ('0`)('A`)('0`)('A`)('A`)('0`)('A`)('A`)('0`) ('0`)('A`)('0`)('A`)('A`)('0`)('A`)('A`)('0`) ('A`)('0`)('A`)('A`)('A`)('0`)('A`)('A`)('0`) ('0`)('A`)('A`)('A`)('A`)('A`)('0`)('0`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)
>>968 が新スレたててくれたから、質問させてもらいます。
CreateProcess()で起動したInternet Explorer(IE1)からjavascriptのwindow.open()で
新しく、別ウィンドウのInternet Explorer(IE2)を開いてるのですが、IE2がアイドル状態に
なるまで自作プログラムの処理を待機させるにはどのようにすればよいでしょうか?
IE2はIE1と別プロセスではなく,同一プロセスの別スレッドで動いている状態です。
呼び出しの関係は↓のようになってます。
自作プログラム(コンソールアプリ) -> CreateProcess() -> IE1 -> window.open() -> IE2
while( IE2.Busy ){}
_(アンダーバー)の仮想キーコードを教えてください。 何処を調べても出てきません(;´Д`)ハァハァ
CreateFileMapping使うときに CreateFileでハンドル取得後 CreateFileMapping使うんですが 処理が終わった後 CloseHandleする時上記のAPIで取得したハンドル どちらともClose処理しなければならないのでしょうか?
>>974 YES。CreateFileは該当のファイルをオープンし、そのハンドルを返します。
つまり、このハンドルは開いたファイルに関する情報の構造体への
ポインタみたいな感じ(実際はちょっと違います)です。
CreateFileMappingはオープンしたファイルに関連付けられた
マッピングオブジェクト(メモリマッピングに必要になる色々な情報)
を作成、纏めてそのハンドルを返します。2つとも全く別物です。
片方が閉じられると連動してもう片方も閉じられるとか、そういう事はありません。
ちなみにメモリマップドファイルの蛇足として、
実際にファイルがメモリ上にロードされるのはMapViewOfFileが実行された時で、
メモリ上のファイルデータが実際のファイルに反映されるのは
UnmapViewOfFileが実行された時です。参考までに。
976 :
970 :2007/01/14(日) 11:57:03
970です。
すいません、環境を書くの忘れてました。VC6.0でMFCは使ってません。
Win32APIのみで作成しています。あと、質問内容の書き方も悪かったので、
下に改めて書き直します。
1.自作プログラムからIE1を起動(CreateProcessでHTMLファイルを
IE1の引数として起動させてます。自作プログラムとIE1は別プロセス)
2.IE1に読み込まれたHTMLファイル内のjavascriptのwindow.openで
新たにIEのウィンドウ(IE2)を開く(IE1とIE2は同一プロセス)
この状態で、自作プログラムからIE2の状態を監視して,IE2がアイドル状態に
なるまで,自作プログラムの処理を待機させたいのです。
>>971 氏の方法はIE1内でwindow.openではなくてCreateObjectを使うってことでしょうか?
長文で申し訳ないですが、よろしくおねがいします。
>>975 参考になりました。ありがとうございます。
>>973 US配列だとshift+マイナスだったりしないかな
>>973 スキャンコードは仮想キーコードからMapVirtualKeyで変換したもの使わないとキーボードドライバによっては不具合出る。(US101ドライバとか)
>>973 >>972 どえす
おおきにアンダーバー0x2Eでビンゴでした、それからVKどわすれくん、重宝します。
埋め
埋
>>974 ハンドルを2つ管理するのが面倒だったらCreateFileMappingの後で
CreateFileから返ってきたハンドルは閉じてしまってかまわない
土里
十田 /土
>>987 ファイルマッピングハンドルは内部的にファイルハンドルへの参照も持つから
大丈夫なことは保証されてる。確かAdvanced Windowsにも出てた
>>988 その直前にある分を無視するなよ。排他アクセスを保証したい場合は、だろ。
> To ensure that other processes cannot write to the portion of the file that
> is mapped, you should open the file with exclusive access.
結局どっちでもいいんでね?
どうせATL::CHandle使うからどうでもいい。
うま
うま
まう
海
馬
ちんちん
かいかい
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。