■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build45
501
名前:
デフォルトの名無しさん
:2006/09/09(土) 14:30:43
・受信バイト数?にあたる戻り値をチェックしてない
・バイトストリームなのにstrlenで長さを取り出している
あたりかなあ
このへんのコード晒してみ
502
名前:
デフォルトの名無しさん
:2006/09/09(土) 15:04:59
>>501
見当違いかも知れ無いですが受信部分です。outputはstring型です
INTERNET_BUFFERS inetbufs;
::memset(&inetbufs, 0, sizeof(INTERNET_BUFFERS));
inetbufs.dwStructSize = sizeof(INTERNET_BUFFERS);
do
{
inetbufs.lpvBuffer = datatop;
inetbufs.dwBufferLength = BUFSIZE;
BOOL ret = InternetReadFileEx(hfile, &inetbufs, IRF_ASYNC, (DWORD)this);
if(!ret)
{
if(::GetLastError() == ERROR_IO_PENDING)
return;
goto READERROR;
}
if(!inetbufs.dwBufferLength)
break;
output.append(datatop, inetbufs.dwBufferLength);
} while(true);
↑はGETときも同じ処理なんですが、このときはメッセージはきちんと取得できます。
メッセージが壊れるのはPOSTのときだけで、後関係有るのかわかりませんがPOSTを送った後サーバからHTTP_STATUS_REDIRECTが返って来て自動でRedirectしてました。
503
名前:
デフォルトの名無しさん
:2006/09/09(土) 16:36:44
if(!inetbufs.dwBufferLength)
break;
ここがアヤシイ
504
名前:
デフォルトの名無しさん
:2006/09/09(土) 17:44:20
inetbufs.lpvBuffer に値が正しくセットされていることを
メモリ見て確認した?
505
名前:
デフォルトの名無しさん
:2006/09/09(土) 17:47:28
>>502
> outputはstring型
そりゃまずいだろ
一旦byte arrayに全体を格納してから
headerのencodingにあわせてデコードするとかしないと。
506
名前:
デフォルトの名無しさん
:2006/09/09(土) 18:20:53
>>503
breakの後はクローズ処理に飛ぶだけなんですがまずいですか?
>>504
正しくっていうのがよくわからないですが、
メッセージが壊れて無い場合はメモリにきちんと入ってました。
>>505
確かにそうですけど今はContent-Encoding(?)は考えずに
サーバからデータがきちんと受信できてるか確かめてる段階なので・・・
507
名前:
デフォルトの名無しさん
:2006/09/09(土) 18:49:51
timeSetEventでタイマーを起動して、
タイマーの発動前のキャンセル、
何回も発動するタイマーのキャンセルは
timeKillEventですが、
一回きりタイマーの設定で、
タイマーの発動後ではtimeKillEventしないといけないのですか?
508
名前:
デフォルトの名無しさん
:2006/09/09(土) 18:51:42
>>506
> 確かにそうですけど今はContent-Encoding(?)は考えずに
考えないのなら、なおさらバイト配列にすべき。
509
名前:
デフォルトの名無しさん
:2006/09/09(土) 18:55:36
stringもバイト配列だと思うが
510
名前:
デフォルトの名無しさん
:2006/09/09(土) 18:59:09
>>506
>サーバからデータがきちんと受信できてるか確かめてる段階なので・・・
ならばなおさらstringなんて使わずにファイルにでもダンプしろと
511
名前:
デフォルトの名無しさん
:2006/09/09(土) 19:00:40
>>507
日本語でどうぞ
512
名前:
デフォルトの名無しさん
:2006/09/09(土) 19:11:12
timeSetEventτ〃勺ィマ→を起動Uτ、
勺ィマ→σ発動前σ≠ャ冫セ儿、
何回も発動する勺ィマ→σ≠ャ冫セ儿はtimeKillEventτ〃すか〃、
一回きり勺ィマ→σ設定τ〃、
勺ィマ→σ発動後τ〃はtimeKillEventUなぃとぃけなぃστ〃すか?
513
名前:
デフォルトの名無しさん
:2006/09/09(土) 19:12:45
TIME_ONESHOTを与えてtimeSetEvent呼び出し、
時間が経ってタイマーが発動した後でも、
timeKillEventしないといけませんか?
514
名前:
デフォルトの名無しさん
:2006/09/09(土) 19:19:11
>>510
一応ファイルにもダンプしてますが
515
名前:
デフォルトの名無しさん
:2006/09/09(土) 19:29:40
>>509
いまだにこんな勘違いしてるのがいるのか
呆れる
516
名前:
デフォルトの名無しさん
:2006/09/09(土) 19:39:50
ユニコードと非ユニコードで違うだろ。
つーかスレ違いだからよそでやれ
517
名前:
デフォルトの名無しさん
:2006/09/10(日) 00:11:34
>>464
ダブルクォーテーション付けてもダメ?
518
名前:
デフォルトの名無しさん
:2006/09/10(日) 00:16:20
つまり、
>>502
は途中で0x00が入り、文字が途切れるオチ?
519
名前:
デフォルトの名無しさん
:2006/09/10(日) 00:35:42
コメント
キー = 値
にすれば解決
520
名前:
デフォルトの名無しさん
:2006/09/10(日) 01:45:19
エディットコントロールに文字を入力すると
どうやらエディットコントロールの上辺に文字がそろってしまいます。
自分は下辺に文字をそろえたいのですが、どうすればいいでしょうか?
521
名前:
デフォルトの名無しさん
:2006/09/10(日) 03:04:30
fontの高さとeditコントロールの高さをあわせる
522
名前:
502
:2006/09/10(日) 05:12:51
BOOL ret = InternetReadFileEx(hfile, &inetbufs, IRF_ASYNC, (DWORD)this);
↑のIRF_ASYNCをIRF_NO_WAITに変えたらうまく行きました。何故かよくわかりませんが。
523
名前:
デフォルトの名無しさん
:2006/09/10(日) 06:24:43
IRF_ASYNC は Windows CE用 InternetReadFileEx の引数
MSDNライブラリよく見れ
524
名前:
デフォルトの名無しさん
:2006/09/10(日) 15:38:04
waveOut〜系の関数で、ストリーミング再生はできないのですか?
バッファを最後まで終了したら続けて再生、となると、どうしても音がとぎれてしまいます。
525
名前:
デフォルトの名無しさん
:2006/09/10(日) 15:50:05
>>507
,513、誰か教えてくれませんか?
526
名前:
デフォルトの名無しさん
:2006/09/10(日) 15:51:49
>>521
できませんでした。
エクスプローラのアドレスバーはDEFAULT_GUI_FONT使っているので
自分のプログラムでDEFAULT_GUI_FONT使ったらエクスプローラのコンボボックスと同じ高さになりました。
しかし、やっぱり文字が上辺にそろってしまいます(; ;)
527
名前:
デフォルトの名無しさん
:2006/09/10(日) 15:58:30
>>524
複数のバッファを使う
528
名前:
デフォルトの名無しさん
:2006/09/10(日) 17:05:59
>>525
はい
529
名前:
デフォルトの名無しさん
:2006/09/10(日) 17:19:55
>>525
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_timesetevent.asp
530
名前:
デフォルトの名無しさん
:2006/09/10(日) 18:16:28
>>524
>>527
が答えてくれているけど
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_multibuf.html
531
名前:
デフォルトの名無しさん
:2006/09/10(日) 18:34:47
>>529
ありがとうございました。
532
名前:
デフォルトの名無しさん
:2006/09/10(日) 18:46:31
>>524
waveOut使うより、DirectSoundを使ったほうが解り易くていいぞ。
533
名前:
デフォルトの名無しさん
:2006/09/10(日) 18:49:21
ストリーミング再生の機能あるしね
でもwave再生するだけでDirectX要求されるのも使う立場からすると萎えるな
534
名前:
デフォルトの名無しさん
:2006/09/10(日) 19:04:39
DSoundはDirectX5の時代から変わってないよ
今配ってるWindows全てで使える
535
名前:
524
:2006/09/10(日) 19:07:05
>>527
,530
ありがとうございます。
DirectSoundでは既にやったことがありまして、
>>533
と同じ理由で、waveOutでの再生も勉強していました
536
名前:
デフォルトの名無しさん
:2006/09/11(月) 00:16:48
>>488
スレ違いだが、Boostや.NET Frameworkなどのシリアライズ機構を使えば、
XMLの読み書きはものすごく楽。
下準備に何行か余計にかかるけど、実際の読み書きは1行程度で済む。
537
名前:
デフォルトの名無しさん
:2006/09/11(月) 00:40:20
エディットウインドウ内でエンターを押すと文字を送信するという感じのプログラムを作ってるんですが、
エンターを押すと出るポンッという音を出さないようにする方法は無いでしょうか?
538
名前:
デフォルトの名無しさん
:2006/09/11(月) 00:45:13
>>537
わからんけどES_WANTRETURNは関係ある?
539
名前:
デフォルトの名無しさん
:2006/09/11(月) 01:04:43
スピーカーを引っこ抜け
540
名前:
デフォルトの名無しさん
:2006/09/11(月) 01:06:13
>>538
一応一行のウィンドウなんですけど、複数行にしてES_WANTRETURNを入れてみたけど駄目でした。
ウィンドウスタイル見てもそれらしき物は無さそうなんで他に何かやり方があるんでしょうか。
541
名前:
デフォルトの名無しさん
:2006/09/11(月) 01:23:11
コンソールアプリケーションで、矢印キーの入力を受け取りたいのですがどうしたらいいのでしょうか。
INPUT_RECORD ir;
DWORD sz;
ReadConsoleInput(stdin, &ir, 1, &sz);
if( ir.EventType == KEY_EVENT){・・・
と書いてみたのですが、、、ifがTRUEにならないので間違っているみたいです。
542
名前:
デフォルトの名無しさん
:2006/09/11(月) 01:32:47
kbhit
543
名前:
デフォルトの名無しさん
:2006/09/11(月) 01:39:13
http://m--takahashi.com/old/12225.html
544
名前:
デフォルトの名無しさん
:2006/09/11(月) 01:39:31
確かにkbhitのほうが簡単だがスレ違い
545
名前:
デフォルトの名無しさん
:2006/09/11(月) 02:09:41
ユーザーが指定した時間後にある操作を行うように
(例えば30分後に電源オフ)したいのですが、SetTimer
意外に何か方法はありませんか?
繰り返しではなく、一回しか実行しないので、SetTimerは
冗長な気がします。
546
名前:
デフォルトの名無しさん
:2006/09/11(月) 02:45:04
30分後に実行されるタスクを作成すれば?
547
名前:
デフォルトの名無しさん
:2006/09/11(月) 02:45:27
返信くださいまして、ありがとうございます。
kbhitでできるならば、やってみます。ありがとうございました。
548
名前:
デフォルトの名無しさん
:2006/09/11(月) 08:06:26
>>545
待機関数WaitForSingleObject, WaitForMultipleObjectsと
イベントハンドルとの組み合わせ。
ただ、毎秒判定するとズレが生じるので、
日付の終了時間を作成し、それを経過したかどうかで判定で
イベントハンドルの判定スイッチを・・・などなど
549
名前:
デフォルトの名無しさん
:2006/09/11(月) 10:09:08
自ウィンドウ非表示でマウスの移動をDLLでフックしたいのですが
WM_NCMOUSEMOVE でいいのですよね?
http://www.kumei.ne.jp/c_lang/sdk2/sdk_162.htm
ここのソースを参考にしたのですが
if (wp == WM_NCLBUTTONDOWN)
部分をWM_NCMOUSEMOVE に変えたのですがうまく動作しません。
たまにしかメッセージが来ないのです。
550
名前:
デフォルトの名無しさん
:2006/09/11(月) 10:13:22
NCだよね
551
名前:
デフォルトの名無しさん
:2006/09/11(月) 10:31:12
NCMOUSEMOVEだとマウスが乗ってる窓が変わった時しかこない
MOUSEMOVEでOKかと
いったん全部メッセージログ出しして特徴掴むといい
552
名前:
デフォルトの名無しさん
:2006/09/11(月) 10:49:06
ウィンドウにはクライアント領域と非クライアント領域があるのです
553
名前:
549
:2006/09/11(月) 11:36:58
デバック時なのでウィンドウを出してテストしているのですが
WM_MOUSEMOVEの時に自ウィンドウを表示してたら支障がでますか?
554
名前:
デフォルトの名無しさん
:2006/09/11(月) 12:19:23
自ウィンドウの下のウィンドウが困る
555
名前:
デフォルトの名無しさん
:2006/09/11(月) 12:34:59
うーん
どうしてもうまくいきません。
たまにしかこないようなのです。
どなたかWM_MOUSEMOVE をフックしているDLLのソースを
公開しているサイトをご存知ないですか?
556
名前:
デフォルトの名無しさん
:2006/09/11(月) 13:01:34
>>537
それは、エディットではなくダイアログプロシジャが
デフォルトボタンがないよって鳴いている音だね。
IDOK を処理してあげれば鳴らなくなるけど、
送信ボタン作ってデフォルトのボタンに設定したほうがいいと思う。
557
名前:
デフォルトの名無しさん
:2006/09/11(月) 13:49:25
すみませんC#でファイル・フォルダ・レジストリのACLを調査してログファイルに書きだしたいのですが
GetAclInformationを使うというところまで来ましたが、書き方が分かりません。
どなたかサンプルをC#で書いてもらえないでしょうか?
あつかましくて本当にすみません。
558
名前:
デフォルトの名無しさん
:2006/09/11(月) 13:55:39
>>557
http://pc8.2ch.net/test/read.cgi/tech/1157549657/
559
名前:
デフォルトの名無しさん
:2006/09/11(月) 15:20:49
>>537
KeyDown/KeyUpイベントでエンターの入力取って処理してるなら、
イベントハンドラの引数KeyEventArgs.SuppressKeyPressをtrueにしておく。
560
名前:
デフォルトの名無しさん
:2006/09/11(月) 15:22:38
ああああごめんC#スレと間違えたw
561
名前:
デフォルトの名無しさん
:2006/09/11(月) 15:28:50
で、確かWM_KEYDOWN/UPでやってるなら、WndProcの戻り値をTRUEにして
「そのキーについては処理した」と教えてやればBEEP鳴らないはず。
KEYDOWNでそれやると、処理されたとしてその後のKEYUPが来なくなるけどな。
562
名前:
デフォルトの名無しさん
:2006/09/11(月) 18:24:43
>>556
ウィンドウクラスをEDITで作った子ウィンドウなんです。
>>561
エディットウィンドウの動作をサブクラスにしてそこでWM_KEYDOWNを処理してます。
戻り値をTRUEにしてみたけど駄目でした。
563
名前:
デフォルトの名無しさん
:2006/09/11(月) 18:28:47
>>562
その EDIT をサブクラス化したコントロールが Dialog に貼られてた場合
たとえ EDIT にフォーカスがあっても
メッセージループで IsDialogMeaage() を処理してれば Dialog側にメッセージ配送されてしまうんじゃないか?
564
名前:
537
:2006/09/11(月) 19:56:12
入力部にリッチエディットコントロールを使用すればなんとかなりそうなのでこれでやってみます。
色々と回答ありがとうございました。
565
名前:
デフォルトの名無しさん
:2006/09/11(月) 19:56:33
>>555
ご存知です
566
名前:
デフォルトの名無しさん
:2006/09/11(月) 21:12:19
Win2000以降のメモ帳の、ファイルを開くダイアログ のように、GetOpenFileNameで
文字コードの選択肢等をつけるには、どのようにするのか分かる方いましたら、教えてください
567
名前:
デフォルトの名無しさん
:2006/09/11(月) 22:20:49
マウスフックはできたのですが
IEの上を移動する時はメッセージがきません。なぜなのでしょうか?
568
名前:
デフォルトの名無しさん
:2006/09/11(月) 22:24:52
フックされてる
569
名前:
デフォルトの名無しさん
:2006/09/11(月) 22:30:53
Win2000以降のメモ帳のファイルを開くダイアログって文字コードの選択肢出てきたっけ?
570
名前:
デフォルトの名無しさん
:2006/09/11(月) 22:47:28
DeteKonaiYo()
571
名前:
デフォルトの名無しさん
:2006/09/11(月) 22:58:44
>>566
ヒント: OFN_ENABLETEMPLATE
572
名前:
567
:2006/09/11(月) 23:07:29
フックされてメッセージが来ないのですか?
対処法はありますか?
573
名前:
デフォルトの名無しさん
:2006/09/11(月) 23:42:53
>>572
Firefoxにのりかえ
574
名前:
567
:2006/09/11(月) 23:49:24
私だけが使うソフトではないのですべてのマウスの移動を感知したいのです。
IEの上の時にWM_MOUSEMOVE がこない...
575
名前:
デフォルトの名無しさん
:2006/09/12(火) 00:14:53
説明書にIEはやめてOperaを使うように書いておけばいいんじゃない?
576
名前:
デフォルトの名無しさん
:2006/09/12(火) 00:30:36
そんなの絶対つかわねーw
577
名前:
567
:2006/09/12(火) 00:45:56
まじめにお願いできませんか?
578
名前:
デフォルトの名無しさん
:2006/09/12(火) 00:49:58
IEが捕まえちゃってんじゃね
579
名前:
デフォルトの名無しさん
:2006/09/12(火) 01:05:01
みんな親身になって相談に乗ってあげてるのにまじめにとか酷い言われようだな
580
名前:
567
:2006/09/12(火) 01:07:11
悪ふざけもいい加減にしてください!!
581
名前:
デフォルトの名無しさん
:2006/09/12(火) 01:07:58
(;´Д`)ハァハァハァ
582
名前:
デフォルトの名無しさん
:2006/09/12(火) 01:10:37
>>574
IEになんか仕込んでるんじゃないの?
フック止めるような行儀の悪いやつが
583
名前:
デフォルトの名無しさん
:2006/09/12(火) 01:20:13
セキュリティの関係で、ユーザー操作を追跡できないようになってるのかも。
584
名前:
デフォルトの名無しさん
:2006/09/12(火) 01:24:39
IEよりフックチェインの上位に登録すれば取得できるはず
585
名前:
デフォルトの名無しさん
:2006/09/12(火) 01:40:21
もうめんどくせぇからDirectInputでDISCL_BACKGROUND | DISCL_NONEXCLUSIVEしる
586
名前:
デフォルトの名無しさん
:2006/09/12(火) 02:22:05
>>565
敬語の使い方がおかしい。
>>555
存じております。
587
名前:
デフォルトの名無しさん
:2006/09/12(火) 02:42:35
「ご存知ないですか?」と聞かれたら
「ご存知ありますよ。」と答えるのが筋ではなかろうか。
588
名前:
デフォルトの名無しさん
:2006/09/12(火) 02:50:56
×「ご存知ないですか?」
「ご存知ありますよ。」
○「ご存知ないあるか?」
「ご存知あるあるよ。」
589
名前:
デフォルトの名無しさん
:2006/09/12(火) 02:51:19
……頭が頭痛で痛む……
590
名前:
デフォルトの名無しさん
:2006/09/12(火) 02:53:28
頭が腹痛じゃなくてよかったな
591
名前:
デフォルトの名無しさん
:2006/09/12(火) 03:11:37
別のEXEのメッセージキューにメッセージ投げるのは
普通にハンドルとってPostMessage(trghwnd, WM_LBUTTONDOWN, ...
で送られるんでしょか? なんか送っても反応してくれないです(´・ω・`)
592
名前:
デフォルトの名無しさん
:2006/09/12(火) 03:13:26
>>591
yes
反応がないのは座標系間違ってるからとか?
あと、downだけ送ってupしてねーとかw
593
名前:
デフォルトの名無しさん
:2006/09/12(火) 08:32:08
SendMessage(trghwnd, WM_LBUTTONDOWN, ...
594
名前:
591
:2006/09/12(火) 08:51:44
そうですか(´・ω・`)
RegisterWindowMessageとかsendthreadとか必須なのかなと思ったんですが
とりあえずごにょごにょ弄ってみます
595
名前:
567
:2006/09/12(火) 10:09:35
みなさまIEと書きましたが
メモ帳の上の時はメッセージがきませんでした。
cmd.exeの上なら来るのですが...
>>586
URLを教えてくれませんか?
596
名前:
567
:2006/09/12(火) 10:12:56
メモ帳の上の時もでした。
すみません。
597
名前:
デフォルトの名無しさん
:2006/09/12(火) 10:26:42
>>596
WH_MOUSEはPostされたメッセージは取得できるけど
Sendされたのは駄目なんじゃなかったっけ?
598
名前:
デフォルトの名無しさん
:2006/09/12(火) 10:37:02
今手元のフック習作のカスでためしたけどDLLからのSendでも問題なかったぞー
599
名前:
デフォルトの名無しさん
:2006/09/12(火) 10:42:45
つまり567はカスということでよろしいか
600
名前:
567
:2006/09/12(火) 10:46:37
DLLからSendというのはわからないですが
http://www.kumei.ne.jp/c_lang/sdk2/sdk_162.htm
これをそのまま使ってるんですけど(WM_MOUSEMOVEに変えてます)
間違ってます?
601
名前:
デフォルトの名無しさん
:2006/09/12(火) 12:04:08
ね
こだいすき
602
名前:
567
:2006/09/12(火) 12:23:25
この場合共有変数は関係ないですよね
BCCにのですが
603
名前:
デフォルトの名無しさん
:2006/09/12(火) 12:24:58
実家帰ったときマタタビとって来た
604
名前:
567
:2006/09/12(火) 12:26:21
なにかの暗号ですか??
605
名前:
デフォルトの名無しさん
:2006/09/12(火) 12:29:09
また旅ねこ
606
名前:
567
:2006/09/12(火) 12:33:23
ここの人たちでは役に立たないことがわかりました。
他のところで同じ質問をしているので、そちらに期待することにします。
答えてくださった方々、ありがとうございませんでした。
607
名前:
567
:2006/09/12(火) 12:37:15
>>606
誰ですか?
608
名前:
デフォルトの名無しさん
:2006/09/12(火) 13:08:30
全ソース晒すか、諦めるかした方がいいな。
609
名前:
デフォルトの名無しさん
:2006/09/12(火) 13:53:57
ほんとうにそのままなら、マウス動かすたびにメッセージボックスが出るはずだが
610
名前:
デフォルトの名無しさん
:2006/09/12(火) 13:58:12
えー
>>585
がかなり良い線ついてると思うのだが。
どーせマクロ支援かなんかの実装だろ?
611
名前:
567
:2006/09/12(火) 14:49:56
ソースはだからこれと一緒ですよ
http://www.kumei.ne.jp/c_lang/sdk2/sdk_162.htm
もちろん WM_MOUSEMOVEに変えてますよ(その下も)
612
名前:
デフォルトの名無しさん
:2006/09/12(火) 15:03:06
構造体を指定しての ZeroMemory と memsetの0 と
={0} って同じ効果なんでしょうか?
613
名前:
567
:2006/09/12(火) 15:11:42
型によっては小数点とか関係してくるんじゃなかったけ?
614
名前:
デフォルトの名無しさん
:2006/09/12(火) 15:16:49
>>613
だれだよお前www
615
名前:
567
:2006/09/12(火) 15:23:20
おれだよ
616
名前:
デフォルトの名無しさん
:2006/09/12(火) 15:31:25
>>613
サンクス。とりあえずはあまり気にしなくてよさそう
あと良く考えたらC/C++関係スレで聞いたほうが適当かな
617
名前:
567
:2006/09/12(火) 16:16:11
がんばれよ
618
名前:
567
:2006/09/12(火) 16:26:17
で結局どうなん?早く
619
名前:
デフォルトの名無しさん
:2006/09/12(火) 16:35:36
なんか567がリークしてるな
620
名前:
567
:2006/09/12(火) 16:41:25
>>618
誰だよ
567 で ageてるのは全部オレだよ
そろそろ答え教えてよ
621
名前:
567
◆sVVR0Q7eM2
:2006/09/12(火) 16:44:40
偽者多いんで鳥つけます。
622
名前:
567
:2006/09/12(火) 16:45:10
午後5時までには知りたいんだが
頼むよマジで
NCCだけど共有変数って関係ある?
623
名前:
567
:2006/09/12(火) 16:53:32
NCCではなくBCCです。
624
名前:
デフォルトの名無しさん
:2006/09/12(火) 16:55:30
>BCCだけど共有変数って関係ある?
日本語でおk
625
名前:
デフォルトの名無しさん
:2006/09/12(火) 16:59:37
>>622
おまえの挙げたサンプルをテストしてみたぞ。
BCC5.5.1環境。
で、結論から言うと、WM_MOUSEMOVEは問題なく取れる。
タイトルバーや、メモ帳のメニューなんかは取れないが、
これはNCL_MOUSEMOVEだろ?
クライアントエリアじゃないからな。
つまり、あのコードのままで取得可能。
俺は受け取り側のアプリに、WM_APP+10とかのメッセージで
適当にポストしてフック結果を取ったが、共有変数とか使うんなら、
また別の問題があるかもしれん。
これで満足か?w
626
名前:
567
:2006/09/12(火) 17:01:24
/ ̄\
| ^o^ | いいえ、それは不満足です
\_/
627
名前:
625
:2006/09/12(火) 17:02:20
23秒前で5時に間に合ったなww
628
名前:
567
:2006/09/12(火) 17:02:24
>>おまえの挙げたサンプルをテストしてみたぞ。
猫の奴ですね?
このソフトはすべてのマウスの動きを監視しするソフトなんですけど
他のウィンドウの上の時に NCL_MOUSEMOVE で取れるのですか?
629
名前:
567
:2006/09/12(火) 17:03:28
すべてのマウスの移動を監視していのですが
wp == WM_MOUSEMOVE || wp == NCL_MOUSEMOVE
こんな感じで可能?
630
名前:
625
:2006/09/12(火) 17:04:18
>>628
> 猫の奴ですね?
そそ。
WM_MOUSEMOVEはクライアントエリア上でのメッセージ。
NCL_〜はクライアントエリア外でのメッセージだろ?
だから全画面でやりたいなら、両方取らなきゃダメなんじゃね?
631
名前:
デフォルトの名無しさん
:2006/09/12(火) 17:04:20
なんつーか微妙に日本語自体がおさっし気味だなw
632
名前:
567
:2006/09/12(火) 17:05:52
キーボード苦手なんで
>>630
ありがとう
633
名前:
デフォルトの名無しさん
:2006/09/12(火) 17:08:26
>キーボード苦手なんで
wwwwwwww
634
名前:
625
:2006/09/12(火) 17:09:10
うはw俺超適当w
WM_NCMOUSEMOVE
だったw
635
名前:
567
:2006/09/12(火) 17:13:40
試したけどダメだったorz
WM_NCMOUSEMOVE は自分のウィンドウのタイトルバーとかの部分だろ?
DLL側でやってるんだけど他のウィンドウには反応しない
>>625
ソース見せてくんない?
636
名前:
625
:2006/09/12(火) 17:18:21
おいおいww
俺、猫のコードコピって動かしてまだ一時間経ってないのに、
何の問題もなく動いてるぞ?
おまい、昨日から何やってたんだよwww
637
名前:
567
:2006/09/12(火) 17:18:39
まじで見せてよm(__)m
638
名前:
デフォルトの名無しさん
:2006/09/12(火) 17:20:45
グローバルフックできてない予感
639
名前:
567
:2006/09/12(火) 17:21:39
いやいやcmd.exe上のウィンドウの上ではメッセージくるんだけど
メモ長やIE上でこないんだよ
640
名前:
625
:2006/09/12(火) 17:21:39
あ、もしかして、メニューからフック開始やってないとかじゃないだろうな?
そういや、俺メニューが出てこないからさりげなくバグ取ったw
641
名前:
567
:2006/09/12(火) 17:22:22
そこは問題ない
HOOKは成功している
642
名前:
625
:2006/09/12(火) 17:22:56
うぷろだ教えてくれれば上げるよ?
>>567
643
名前:
567
:2006/09/12(火) 17:23:21
ソース頼むって
アップしてくれない?
644
名前:
デフォルトの名無しさん
:2006/09/12(火) 17:25:07
どんな宿題なのか気になる
645
名前:
567
:2006/09/12(火) 17:25:09
http://japanese-truth.hp.infoseek.co.jp/cgi-bin/index.html
頼む
646
名前:
567
:2006/09/12(火) 17:25:49
宿題ではないよ
マウスの位置によって動作するアプリよ
647
名前:
625
:2006/09/12(火) 17:27:22
あげた。
neko_162.zip
DLキーは
neko
まぁがんがれw
648
名前:
567
:2006/09/12(火) 17:28:28
おとしてみる
サンキュ
649
名前:
デフォルトの名無しさん
:2006/09/12(火) 17:29:52
そしてアーカイブの中には
醤油.txt
650
名前:
567
:2006/09/12(火) 17:30:53
とりあえず今日一日考えてみるわ
まじでありがとう
651
名前:
デフォルトの名無しさん
:2006/09/12(火) 18:37:28
解決したら原因の報告よろ
652
名前:
567
:2006/09/12(火) 18:44:46
よかろう
653
名前:
デフォルトの名無しさん
:2006/09/12(火) 18:53:06
スレの10分の1を私物化しておきながら「よかろう」って
いったい何様のつもりだ。
654
名前:
デフォルトの名無しさん
:2006/09/12(火) 19:18:12
↓ここで本物の567が現れる
655
名前:
567
:2006/09/12(火) 19:29:40
まだ答でてねーのかよ
つかえないカスどもだなw
656
名前:
デフォルトの名無しさん
:2006/09/12(火) 19:49:20
-- 誤
HINSTANCE hInst;
HHOOK hHook;
HWND hWnd;
BOOL bHook;
-- 正
#pragmadata_seg("__567__")
HINSTANCE hInst;
HHOOK hHook;
HWND hWnd;
BOOL bHook;
#pragmadata_seg()
657
名前:
デフォルトの名無しさん
:2006/09/12(火) 19:55:59
#pragmadata_seg("__567__")
HINSTANCE hInst=0;
HHOOK hHook=0;
HWND hWnd=0;
BOOL bHook=0;
#pragmadata_seg()
658
名前:
567
:2006/09/12(火) 20:03:32
?2BP(0)
メニューバーがでませんでしたがでるようにして
動作している事は確認しました。
http://japanese-truth.hp.infoseek.co.jp/cgi-bin/upload.cgi?mode=dl&file=1158058838
恥ずかしいですが私のソースをあげます。
どこが悪いですか?
659
名前:
567
:2006/09/12(火) 20:05:43
?2BP(0)
passはsrcです。
660
名前:
567
:2006/09/12(火) 20:08:24
?2BP(0)
exeを実行するとタスクトレイに常駐するのでそこから終了してください。
マウスを右↓にもって逝くとアイコンが変わりスタンバイを抑止します
661
名前:
567
:2006/09/12(火) 20:10:30
?2BP(0)
main.cをコンパイルするとdebugウィンドウを表示するexe
になります
662
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:12:00
>567
>656
663
名前:
567
:2006/09/12(火) 20:24:48
?2BP(0)
誰か
664
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:27:07
∩
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ <こいつ最高に馬鹿
彡、 |∪| /
/ __ ヽノ /
(___) /
665
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:30:05
>>663
だーかーらー
>>656
666
名前:
567
:2006/09/12(火) 20:31:14
?2BP(0)
BCC ではできませんよ
667
名前:
_
:2006/09/12(火) 20:32:00
>>567
ブラウザー上のイベントをトリガーするなら、
VBA上でMicorsoft Internet Controlsを参照設定して使ってイベントハンドラー作る例が
VBAマクロ本にあったけど、似たような(ActiveX)Controlあるんじゃないかな。
668
名前:
567
:2006/09/12(火) 20:32:59
?2BP(0)
>>647
のはそれが無くても動作しました。
共有変数は無関係では?
669
名前:
567
:2006/09/12(火) 20:34:12
?2BP(0)
>>647
と自分の違いがわからない。
670
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:34:18
BCCて共有変数作れないのかwww
さすがDelphiの生みの親某ランドwww
671
名前:
567
:2006/09/12(火) 20:35:58
?2BP(0)
メモリマッ?? ファイルすれば可能
アセンブリで書けば可能
672
名前:
567
:2006/09/12(火) 20:39:11
早くおしえろカス
673
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:40:43
567うぜぇ
674
名前:
625
:2006/09/12(火) 20:41:58
>>669
俺のコードは共有変数とか使ってないからな。
WM_APP+nでFindWindowしたexe側にPostMessageして放り込んでる。
ある意味、手抜きしてるってわけだ。
675
名前:
567
:2006/09/12(火) 20:41:58
?2BP(0)
マジでわからんですわ
676
名前:
567
:2006/09/12(火) 20:43:15
だから、メモリマップドファイル作ってそこに共有が必要な変数を全部格納しろ
677
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:44:43
おまえ向いて無いからもう止めた方がいい
678
名前:
567
:2006/09/12(火) 20:45:53
?2BP(0)
共有変数は関係ないでしょ
マジで
nekoのは共有変数使ってないけど動作している。
679
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:45:57
メモリマップ *ト* ファイル
680
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:46:30
1を足すか引くかすれば直るよ。
バグなんてそんなもん。
681
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:46:50
>>678
>>674
682
名前:
567
:2006/09/12(火) 20:47:56
プロセス間通信でググれカス
683
名前:
567
:2006/09/12(火) 20:48:47
?2BP(0)
>>674
つまりウィンドウハンドルがアレって事か?
684
名前:
567
:2006/09/12(火) 20:49:33
?2BP(0)
まじごめん
共有変数関係ありかw
685
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:51:03
鳥ない奴は偽物でOK?
686
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:52:37
本物の鳥はどれですか?
687
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:52:42
おk
688
名前:
デフォルトの名無しさん
:2006/09/12(火) 20:55:52
もしかして
>>567
の時点で既にニセモノだったんじゃね?
689
名前:
567
:2006/09/12(火) 20:57:30
?2BP(0)
ソースあげたbe月のオレが本物に決まってんだろ
690
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:01:13
>>689
本当の質問者がそこまで態度悪いはずが無い。
荒らしは消えてくれ。
691
名前:
567
:2006/09/12(火) 21:05:17
?2BP(0)
ちょwwwwおまwwwww
692
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:05:35
まぢレスすると…
って何か荒れてるから様子見
693
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:06:32
7割の人はこの状況を遊んでいると思うのですよ
とりあえずpragmaだとか使わずに素直にAPI使え APIスレだし
ttp://wisdom.sakura.ne.jp/system/winapi/win32/win150.html
694
名前:
567
:2006/09/12(火) 21:11:00
?2BP(0)
でつまり
IEの上を通る時にDLLが別にロードされhwnd を見失ってるって事か
会ってる?
695
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:12:04
Yes
stop_shutdown.exe の hwnd_msg と
他プロセスにロードされた hook.dll の hwnd_msg は別物
696
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:12:11
合ってる。
697
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:13:25
違うだろが
698
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:14:19
567は永久欠番ということでNGワード逝き
699
名前:
567
:2006/09/12(火) 21:15:47
?2BP(0)
まじセンキュ
これからも567でこのスレの質問に答えるよ
700
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:18:58
>>697
違うのならば、何処がどう違うのかも説明しましょう。
701
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:20:25
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
ここまで自作自演
702
名前:
567
:2006/09/12(火) 21:22:57
?2BP(0)
>>700
ほっとけよかわいそうな奴なんだよ
>>701
beログインしたりするのは面倒なんだからそんなことはないぞ
703
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:53:32
>>694
他プロセスにdllがロードされるのは、
既に起動しているプロセスならフック登録時、
フック中に起動したプロセスならプロセス起動時
今回は関係無いけどね
あと、スレが荒れるから名無しに戻ってくれ
704
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:54:33
>>703
^~
705
名前:
デフォルトの名無しさん
:2006/09/12(火) 21:59:04
>>704
なんすか?
706
名前:
774
:2006/09/12(火) 22:08:28
>>703
了解
707
名前:
576
:2006/09/12(火) 22:11:45
ばかちんが
708
名前:
デフォルトの名無しさん
:2006/09/12(火) 22:17:20
>>705
いや、初めて知ったから感心してるんだけど。
709
名前:
デフォルトの名無しさん
:2006/09/12(火) 23:16:57
^~ ←感心してる
710
名前:
デフォルトの名無しさん
:2006/09/12(火) 23:36:17
>>703
(・∀・)^~
711
名前:
576
:2006/09/13(水) 00:40:42
ほんとにどうしようもねえクズどもだな
もう他で聞くわ^~
712
名前:
567
:2006/09/13(水) 01:29:20
他で聞いたらアホボケシネとか言われて追い出されて帰ってきますた><
713
名前:
デフォルトの名無しさん
:2006/09/13(水) 02:28:03
参考までにどこで聞いたか教えて頂けませんか?
714
名前:
567
:2006/09/13(水) 04:57:36
ここだ
クズども荒らすなよ
http://pc8.2ch.net/test/read.cgi/tech/1156032806/
715
名前:
デフォルトの名無しさん
:2006/09/13(水) 05:12:43
| ∧ ∧
|/ ヽ ./ .∧
| `、 / ∧
|  ̄ ̄ ̄ ヽ
| ̄ ̄ ̄ 567 ̄ ̄ ̄ ̄)
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
|ヽ-=・=-′ ヽ-=・=- /
|:: \___/ /
|::::::: \/ /
716
名前:
デフォルトの名無しさん
:2006/09/13(水) 08:19:43
わんわわわん わん!
(ケンカは表でやってくれよ!)
717
名前:
567
:2006/09/13(水) 08:22:13
私のために争わないで!
718
名前:
567
:2006/09/13(水) 09:48:49
?2BP(0)
今度は共有変数がうまくいきません。
ファイルマッピングがうまくできないんですけど
http://www.kumei.ne.jp/c_lang/sdk2/sdk_162.htm
ここのソースのSetMainHWNDで渡したハンドル等(他にもいろいろ)
をすべてのプロセスにロードされたDLLにも共有したいのですが
http://wisdom.sakura.ne.jp/system/winapi/win32/win150.html
ここのソースを参考にしてもうまくいきません。どうすればいいですか?
719
名前:
デフォルトの名無しさん
:2006/09/13(水) 09:49:58
流れ変えたいから質問
オフィス系のファイルを開くダイアログって普通に提供されてたりする?
それとも自作しないと使えない?
720
名前:
デフォルトの名無しさん
:2006/09/13(水) 09:58:54
ヒント:NDA
721
名前:
567
:2006/09/13(水) 09:59:07
?2BP(0)
オーナードロー
722
名前:
デフォルトの名無しさん
:2006/09/13(水) 10:13:28
>>720
Not Do Answer
DとN逆逆なら
Do Not Answer
答えられませんか。そうですか。
723
名前:
567
:2006/09/13(水) 10:15:23
?2BP(0)
>>722
非公開APIの事では?
724
名前:
567
:2006/09/13(水) 10:16:38
?2BP(0)
NDA
一般に公開されていない情報を入手する場合に、
その情報を外部に漏らさせないために交わす契約のこと。
新しいOS向けのアプリケーションソフトを開発してもらうために、
開発中のOSのコードをアプリケーションソフト開発会社に
引き渡すような場合に使われる。
725
名前:
デフォルトの名無しさん
:2006/09/13(水) 12:18:33
567まだやってたのかwwwww
726
名前:
567
:2006/09/13(水) 12:25:13
あれ?いつのまに名無しが567になったの?
727
名前:
567
:2006/09/13(水) 12:27:38
BE使い分けて自作自演してました、ご清聴本当にありがとうございました。
728
名前:
デフォルトの名無しさん
:2006/09/13(水) 12:30:26
レス番が飛びすぎだ('A`)
729
名前:
デフォルトの名無しさん
:2006/09/13(水) 12:35:04
もう名無しは567でいいんじゃね?
730
名前:
567
:2006/09/13(水) 12:48:35
?2BP(0)
なぜマジレスしてくれないのか?
731
名前:
567
:2006/09/13(水) 13:02:00
人の名前を騙るな
732
名前:
567
:2006/09/13(水) 13:13:22
?2BP(0)
>>731
いいかげんしつこい
733
名前:
デフォルトの名無しさん
:2006/09/13(水) 13:18:32
>>732
お前の方がしつこいぞ。
734
名前:
デフォルトの名無しさん
:2006/09/13(水) 13:40:56
567の書き込み数多すぎ
努力する気なしだろ
>>718
> 今度は共有変数がうまくいきません。
> ファイルマッピングがうまくできないんですけど
>
http://wisdom.sakura.ne.jp/system/winapi/win32/win150.html
> ここのソースを参考にしてもうまくいきません。どうすればいいですか?
ソースを参考に何をして、どううまくいかなかったのか、
うまくいかないと判断した理由(必要なら)を含めて質問すればまともなレスも来るだろうに
735
名前:
デフォルトの名無しさん
:2006/09/13(水) 14:04:18
なまじ助ける香具師が一回現れたから
調子に乗っているんだろう
736
名前:
567
:2006/09/13(水) 14:23:56
?2BP(0)
HWND *hwnd_main;
int WINAPI DllEntryPoint(HINSTANCE hInstance , DWORD fdwReason , PVOID pvReserved) {
static HANDLE hMap;
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
hMap = CreateFileMapping((HANDLE)0xFFFFFFFF , NULL ,
PAGE_READWRITE , 0 , sizeof (HWND) , MAP);
hwnd_main = (DWORD *)MapViewOfFile(
hMap , FILE_MAP_WRITE , 0 , 0 , 0);
break;
case DLL_PROCESS_DETACH:
UnmapViewOfFile(pdwUsers);
CloseHandle(hMap);
}
return TRUE;
}
exeからSetMainHWND()を一回呼び出し
*hwnd_main = hWnd
といれているのですがうまくいきせん。(共有できてない?)
737
名前:
567
:2006/09/13(水) 14:30:47
?2BP(0)
やっぱいいや
738
名前:
デフォルトの名無しさん
:2006/09/13(水) 14:31:56
APIというかマクロなんですが、
_WIN32_WINNT / _WIN32_WINDOWS / WINVER
という定義、コレってたとえばWin95以上を指定したいとき
_WIN32_WINDOWS / WINVER は別物で、両方に0x400以上として定義するんでしょうか
それとも WINVER 0x400という定義だけで
_WIN32_WINDOWS 0x400
_WIN32_WINNT 0x400 の両方の意味を持つようになるんでしょうか
739
名前:
567
:2006/09/13(水) 14:33:34
?2BP(0)
それはこちらから定義するものなのか?
740
名前:
567
:2006/09/13(水) 14:36:39
?2BP(0)
つーかどうでもいいからさっさと答えてくれ
741
名前:
デフォルトの名無しさん
:2006/09/13(水) 14:37:05
>>739
あたりまえじゃねーか・・・
BCCだろうが何だろうがその辺は一緒だろ?
742
名前:
デフォルトの名無しさん
:2006/09/13(水) 15:06:32
>>738
include ディレクトリを grep してみると、各マクロ値が、ばっらばらに使われているように見えた
743
名前:
567
:2006/09/13(水) 15:08:20
?2BP(0)
beまでつけて偽者乙
744
名前:
デフォルトの名無しさん
:2006/09/13(水) 15:30:44
>>742
サンクス そういうものなのか
745
名前:
デフォルトの名無しさん
:2006/09/13(水) 16:42:52
自分で努力した方がいいぞ
746
名前:
デフォルトの名無しさん
:2006/09/13(水) 16:43:48
∧_∧ ●━●
( ゚д゚ )丿 フンッ!
●━●ノ/ /
ノ ̄ゝ
( ゚д゚ ) Σn
⌒` γ´⌒`ヽ( E)
) . 人 .人 γ ノ
ミ)こノこノ `ー´
)こノこ(
747
名前:
デフォルトの名無しさん
:2006/09/13(水) 23:14:55
タスクバーにツールバーを追加・ドッキング(クイック起動とか言語バー)をすることが出来ますが、あれはどのようにやるのでしょうか?
タスクバーにドッキングできるウィンドウが作成したいのです。
クイック起動をタスクバーから取り外すと単なるツールウィンドウなので、
ウィンドウのスタイル変えればできるとかそんなレベルなのでしょうか?
748
名前:
デフォルトの名無しさん
:2006/09/13(水) 23:19:20
アレは独立したアプリケーションではなく、システム(エクスプローラかも)が作っている物だろうから
自分で作ったウィンドウを、ってのは無理じゃね?
749
名前:
デフォルトの名無しさん
:2006/09/13(水) 23:21:58
>>747
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/programmersguide/shell_adv/bands.asp
>>748
m9(^Д^)プギャー
750
名前:
デフォルトの名無しさん
:2006/09/13(水) 23:32:48
>>748
m9(^Д^)プギャー
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.