■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API質問箱 Build46
501 名前:デフォルトの名無しさん :2006/10/20(金) 00:32:49
>>499
回答ありがとうございます。少し調べてみます。

>>500
(x * 2) + ((fheight - y) * (fwidth * 2))

これでできました。

502 名前:デフォルトの名無しさん :2006/10/20(金) 00:46:51
>>501
次の row を指すだめの量 = (width * 3) を DWORDでアライメントした値

w2 = (width * 3 + sizeof(DROWD)-1) / sizeof(DROWD) * sizeof(DROWD);
(height-1 - y) * w2 + (x * 3)

503 名前:デフォルトの名無しさん :2006/10/20(金) 00:53:54
DROWDてなんすか?

504 名前:デフォルトの名無しさん :2006/10/20(金) 00:56:08
るかわばめよにさかさ

505 名前:デフォルトの名無しさん :2006/10/20(金) 01:51:34
?かすんなてDWORD

506 名前:498 :2006/10/20(金) 02:09:30
>>499 >>502
無事解決しました。本当にありがとうございました!

507 名前:デフォルトの名無しさん :2006/10/20(金) 02:12:52
SPY++でメッセージの監視が出来ないソフトって
どんな方法で拒否してるんでしょうか?
それと、CreateToolhelp32Snapshotでもハンドルを
キャッチできないプログラムはどのような仕組みなのでしょうか?
質問2つですいませんが、教えて貰えると助かります。

508 名前:デフォルトの名無しさん :2006/10/20(金) 02:28:54
>>507
ソニーの音楽CDによって提供される機能を利用しています。

509 名前:567 :2006/10/20(金) 02:59:35
    Λ_Λ  うるさいわね!
    ('・ω・゛)  そんなことより私の下着、返してよ!
     (つ/ )
      |`(..イ
     しし'

510 名前:デフォルトの名無しさん :2006/10/20(金) 05:43:25
>>492
実はDDK見ると書いてるって場合もあるけどね。
Windowsのバージョン間や9x系とNT系でまったく違うことも珍しくないし

511 名前:デフォルトの名無しさん :2006/10/20(金) 19:56:18
HDROPはDROPFILESとしてSDKに載っているね。

512 名前:デフォルトの名無しさん :2006/10/21(土) 09:25:19
タイトルバー上での右、中クリックの動作を拡張したくWH_MOUSEを指定してフックをしました。
目的の通り右クリックでMAXIMIZE、中クリックでCLOSEさせることができたのですが
MAXIMIZE後、マウスカーソルの位置がタイトルバー以外に移動したとき
WM_RBUTTONUPが呼ばれるらしくアプリケーションの右クリックメニューが出てしまいました。
そこでWM_NCRBUTTONDOWNをWM_NCRBUTTONUPに変更したところ何故かメッセージが全くきませんでした。
どうすれば目的を達成出来るでしょうか?

513 名前:512 :2006/10/21(土) 09:26:31
該当部分のソースコードです。

LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode == HC_ACTION)
{
mh = (MOUSEHOOKSTRUCT *)lParam;

if(mh->wHitTestCode == HTCAPTION)
{
switch(wParam)
{
case WM_NCRBUTTONUP:
PostMessage(mh->hwnd, WM_SYSCOMMAND, IsZoomed(mh->hwnd) ? SC_RESTORE : SC_MAXIMIZE, 0);
return 1;

case WM_NCMBUTTONDOWN:
PostMessage(mh->hwnd, WM_SYSCOMMAND, SC_CLOSE, 0);
return 1;
}
}
}
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}


514 名前:デフォルトの名無しさん :2006/10/21(土) 11:33:53
WM_PAINTってwParamは使ってないとヘルプにあるのに
HDCを入れるプログラムがよくあるけど、これどうなってるの?

515 名前:デフォルトの名無しさん :2006/10/21(土) 12:05:02
コモンコントロールの真似してる

516 名前:デフォルトの名無しさん :2006/10/21(土) 18:31:14
VCのIDEやMS-Officeのホットキーをフックで奪う常駐アプリを書いてるんですが
SetWindowsHookEx(WH_GETMESSAGE, ...);
でWM_SYSKEYUPを捉えてもたまに取り逃がすことがあるようです。(成功する時もある)
officeのキーボードアクセラレータより早く、そして確実に検出する方法は無いもので
しょうか?

ちなみに開発・テスト環境ともに日本語w2k+SP4です

517 名前:デフォルトの名無しさん :2006/10/21(土) 18:45:18
開発環境は?

518 名前:516 :2006/10/21(土) 19:00:08
VC++6 + SP5 + PlatformSDK(Feb/2003)です。

519 名前:デフォルトの名無しさん :2006/10/21(土) 19:07:15
WM_SYSKEYDOWN

WM_SYSKEYUP

なので WM_SYSKEYDOWN も試してみたらどうだろう。
と、試した事のない俺が言ってみる。

520 名前:デフォルトの名無しさん :2006/10/21(土) 19:08:36
フックプロシージャはEXE内部にあります? それともDLL内部?

521 名前:デフォルトの名無しさん :2006/10/21(土) 19:09:32
リピートがかかるとUPがこないでDOWNが連続してくるんじゃなかったっけ

522 名前:516 :2006/10/21(土) 19:25:26
>>520
DLL内部にあります。その場でWM_SYSKEY*をWM_NULLに置換しちゃうだけです。
PC自体の負荷が高いと取りこぼすことがあるんだろうか・・・

>>521
はい、キーを少し長めに押して離すと

WM_SYSKEYDOWN
WM_SYSKEYDOWN
WM_SYSKEYDOWN
WM_SYSKEYDOWN
WM_SYSKEYDOWN
WM_SYSKEYDOWN
WM_SYSKEYUP

となるので、1つ目で拾えなくても2つ目以降でキャッチできるのか、WM_SYSKEYDOWN
だと(今のところ)100%キャッチできるようになりました。(>>519さんの方法)

523 名前:デフォルトの名無しさん :2006/10/22(日) 02:25:11
配置したコントロールの画面上の位置を取得するAPIを教えていただきたく

524 名前:デフォルトの名無しさん :2006/10/22(日) 03:26:17
配置したなら座標知ってそうに思えるけど
GetWindowRect(), GetClientRect()あたりでできます。

525 名前:デフォルトの名無しさん :2006/10/22(日) 03:35:41
これを知りたいんじゃないか?
ClientToScreen()

526 名前:デフォルトの名無しさん :2006/10/22(日) 13:04:42
GetWindowRect->MapWindowPoints

527 名前:デフォルトの名無しさん :2006/10/22(日) 18:32:39
クライアント座標ってなんですか?

528 名前:デフォルトの名無しさん :2006/10/22(日) 18:49:24
>>527
クライアント領域の(0,0)とした時の相対座標。

529 名前:528 :2006/10/22(日) 18:49:53
ゴメ

>>527
クライアント領域の左上を(0,0)とした時の相対座標。

530 名前:デフォルトの名無しさん :2006/10/23(月) 15:56:10
他のプロセスのウィンドウへ、キーを押したとするシミュレートをしたいです。
例えば、電卓を起動してるとき、'1'という文字を電卓に送って、電卓に1が表示されるように。
現在、電卓のメインウィンドウのハンドルを取得することはできたが、それに、
SendMessage(電卓のWindowハンドル,WM_KEYDOWN,0x31,0x00150001);
とやっても、何も起きません。どうしたらいいですか

531 名前:デフォルトの名無しさん :2006/10/23(月) 16:16:30
ヒント:PostMessage

532 名前:デフォルトの名無しさん :2006/10/23(月) 16:18:31
http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200403_04030093.html

533 名前:デフォルトの名無しさん :2006/10/23(月) 16:50:55
単に、PostMessage にしたらでめあした。orz.orz.orz.orz.orz.orz.orz.orz.orz.orz.orz.orz.
こんなことで数時間も悩んでたなんてまじっすか。orz.orz.orz.orz.orz.orz.
てかなんでSendMessageじゃだめなんだこらお

534 名前:デフォルトの名無しさん :2006/10/23(月) 16:59:23
SendMessage(A)
ウィンドウにメッセージを送信します。
この関数は、指定したウィンドウのウィンドウプロシージャが
処理を終了するまで制御を返しません。

メッセージを送信して直ちに制御を返すには、
SendMessageCallback 関数または SendNotifyMessage 関数を使います。
メッセージをスレッドのメッセージキューにポストして直ちに制御を返すには、
PostMessage 関数または PostThreadMessage 関数を使います。

LRESULT SendMessageA(
HWND hWnd, // ウィンドウハンドル
UINT Msg, // メッセージコード
WPARAM wParam, // wParamパラメータ
LPARAM lParam // lParamパラメータ
);USER32.DLL

ttp://yokohama.cool.ne.jp/chokuto/urawaza/api/SendMessage.html

535 名前:デフォルトの名無しさん :2006/10/23(月) 17:14:31
宣伝?

536 名前:デフォルトの名無しさん :2006/10/23(月) 17:16:07
過剰反応

537 名前:デフォルトの名無しさん :2006/10/23(月) 17:24:26
>こんなことで数時間も悩んでたなんてまじっすか。orz.orz.orz.orz.orz.orz.

数時間でガタガタ言うんじゃねぇ。

538 名前:デフォルトの名無しさん :2006/10/23(月) 17:46:12
ちょっともちつけ

539 名前:デフォルトの名無しさん :2006/10/23(月) 17:46:41
悲しいけど俺も数時間停滞とかよくある
構造体メンバの初期化値がおかしいだけでした^^;; とかな

ほんとAPIは地獄だぜ

540 名前:デフォルトの名無しさん :2006/10/23(月) 18:15:57
リファレンスも読まないカスどもは氏ねばいいと思うよ

541 名前:デフォルトの名無しさん :2006/10/23(月) 18:25:39
APIってネイティブコードですか?

542 名前:デフォルトの名無しさん :2006/10/23(月) 18:30:32
Win32APIはそうだろうな。
第一Windows 95とかNT 3の頃には.NETなんてなかったし。

543 名前:デフォルトの名無しさん :2006/10/23(月) 21:26:32
>>533
WM_KEYDOWN等のキーボード関係のメッセージは
メッセージループの中でウィンドウプロシージャに渡される前に
色々と処理される。

自分のプログラムのメッセージループで使っているAPIの説明を
読み直した方がいいよ。

544 名前:デフォルトの名無しさん :2006/10/23(月) 21:58:17
他のプロセスのメニューハンドル(HMENU)を取得するにはどしたらいいですか?
ウィンドウに割り当てられてるメニューなら、GetMenuで可能ですが、
右クリックで出てくるようなウィンドウに割り当てられてないメニュー

545 名前:デフォルトの名無しさん :2006/10/23(月) 22:01:57
漏れの作ったソフトでは右クリックされてから CreateMenuしてるから
事前に取られる心配はなし。

546 名前:デフォルトの名無しさん :2006/10/23(月) 22:08:56
>>544
ttp://pc8.2ch.net/test/read.cgi/tech/1159485364/524-525

547 名前:デフォルトの名無しさん :2006/10/23(月) 22:18:16
>>546
だからウィンドウハンドルから取得できないのは分かってるってば

548 名前:デフォルトの名無しさん :2006/10/23(月) 23:04:03
>>544
SetWindowsHook とか使ってメニュー関連のメッセージをモニタして
なんかのメッセージ中に含まれる HMENU を盗み見たりするしかないんじゃない?

549 名前:デフォルトの名無しさん :2006/10/23(月) 23:09:53
>>548
それもあるが、それだと一回だけメニューを操作せねばならない。
メニュー操作無しで、ハンドルを取得っての。
見当として、CreateToolhelp32Snapshot でヒープリストやモジュールリストに
メニューハンドルが含まれてないかな

550 名前:デフォルトの名無しさん :2006/10/23(月) 23:33:24
>>549
それじゃ後はもうAPIフックだのハンドルの実体のリストを
直接参照するだののかなり強引な技しかないんじゃね?
つか、そもそも他所様のメニューハンドルを取得してなにがしたいん?

551 名前:デフォルトの名無しさん :2006/10/23(月) 23:36:25
> 見当として、CreateToolhelp32Snapshot で
kernelとuserの区別も付いてないようじゃまったく見当はずれだな

552 名前:デフォルトの名無しさん :2006/10/23(月) 23:49:44
やっぱ無理そうですね

553 名前:デフォルトの名無しさん :2006/10/24(火) 00:07:44
>>545みたいに右クリックするまでそもそもメニューが存在しない可能性もあるのに
確実に取れるわけない

554 名前:デフォルトの名無しさん :2006/10/24(火) 01:03:03
>>553
APIフック系の技を使えば確実にできるよ。って、これはできる内に入らんか。

555 名前:デフォルトの名無しさん :2006/10/24(火) 01:07:04
>>552
確か、 sysinternals の ProcessExplorer はメニューハンドルも全部表示してくれるけど、
あれは「ハンドルの実体のリストを直接参照する」技によるものだと思う。
sysinternals のプログラムってどれも一見ただの Win32 アプリだけど、
動的にドライバをインストールしちまったりとかかなりエグイ技を使うからねぇ。

556 名前:デフォルトの名無しさん :2006/10/24(火) 09:38:26
MCIの質問はここでおk?

MCI_OPENで音楽ファイルオープンしたときって
ファイルの中身が全部メモリに読み込まれる?


557 名前:デフォルトの名無しさん :2006/10/24(火) 10:36:52
試してみれば?
確か読み込まれないと思ったけど

558 名前:デフォルトの名無しさん :2006/10/24(火) 10:38:37
MCIドライバの実装依存だが一般的には読み込まれない

559 名前:デフォルトの名無しさん :2006/10/24(火) 11:45:09
>>557-558
サンクス

560 名前:ポロンガ :2006/10/24(火) 15:36:56
質問です。
現在リストビューの中のどれか一つを選択し、確認ボタンを押すとダイアログ
で選択した項目が確認できるようなプログラムを組んでます。リストビューを
表示するにはCreateWindowEx関数を利用すればよいことはわかりました。確認
ボタンも同様にCreateWindow関数を利用すればよいことがわかりました。

そこでCALLBACK WndProc内で座標指定をしてリストビューとボタンを作ろうと
しました。しかし、リストの項目は選択可能ですが、ボタンを押しても反応
しません。リストビューを作成する部分を除去してボタンだけを作るとボタン
が押せます。

リストビューとボタンを一つの窓に表示する際にはどのようにプログラム
すればよろしいのでしょうか?

561 名前:ポロンガ :2006/10/24(火) 15:38:53
開発環境は以下のようになっています。
OS:WindowsXP
コンパイラ:gcc(MinGW)

562 名前:デフォルトの名無しさん :2006/10/24(火) 15:59:32
ハードディスクの回転をオン・オフする方法を教えてください。
win32APIの範疇ではないでしょうか?

563 名前:567 :2006/10/24(火) 16:06:11
4ピンケーブル抜けばいいんじゃないか多分

564 名前:デフォルトの名無しさん :2006/10/24(火) 16:06:18
それができると迷惑そうなソフトがつくれそうですね。期待。

565 名前:デフォルトの名無しさん :2006/10/24(火) 16:33:37
スピンダウンタイムを1秒にでもすれば

566 名前:デフォルトの名無しさん :2006/10/24(火) 17:07:42
タスクバーの長さを含まないデスクトップのサイズを取得するのってどのAPIでやりますか。
最大化したときになるサイズをとりたいんです。

567 名前:デフォルトの名無しさん :2006/10/24(火) 17:08:20
あるソフトが排他書き込み中とかで、
エクスプローラでファイルコピー出来ないようなファイルを
ムリヤリ読むソフトとか方法はありますか?

568 名前:デフォルトの名無しさん :2006/10/24(火) 17:23:20
4ピンケーブル抜けばいいんじゃないか多分

569 名前:デフォルトの名無しさん :2006/10/24(火) 17:26:27
>>562
昔はSTOPキーを2回押すだけでできたんだがなw


570 名前:デフォルトの名無しさん :2006/10/24(火) 17:28:52
>>566
GetSystemMetricsかSystemParametersInfo

571 名前:デフォルトの名無しさん :2006/10/24(火) 18:41:40
>>566
SystemParametersInfoのSPI_GETWORKAREA

572 名前:デフォルトの名無しさん :2006/10/24(火) 18:46:46
>>567

573 名前:デフォルトの名無しさん :2006/10/24(火) 19:39:32
質問なのですが→キーとスペースキーを2つとも押しているときの操作はできるのでしょうか?

2つとも押しているときはスペースのみの操作も→キーのみの操作も働かない方法があれば教えてください

574 名前:デフォルトの名無しさん :2006/10/24(火) 20:13:58
>>567
ボリュームシャドウコピー
ムリヤリというより標準のバックアップも使ってる正規の方法だが

575 名前:デフォルトの名無しさん :2006/10/24(火) 21:07:09
>>573
片方が押されていたらGetKeyStateなどでもう片方も押されているかを調べる

576 名前:デフォルトの名無しさん :2006/10/24(火) 21:21:43
>>573
そもそもキーボードがハードウェア的に同時押しに対応していない可能性がある。
そうだったらどうあがいても不可能
おとなしくシフト系キーとの組み合わせにしときなさい

577 名前:デフォルトの名無しさん :2006/10/24(火) 22:00:41
>>575
有難うございます やってみます

>>576
いまWINAPIでゲームを作ろうとしてましてどうしてもスペースとの同時を使いたかったのです。

578 名前:デフォルトの名無しさん :2006/10/24(火) 22:05:46
公開しないんだったら自分のキーボードで動けばいいんじゃないの。
まず動かないと思うけど

579 名前:デフォルトの名無しさん :2006/10/24(火) 23:08:38
>>576
興味があったので家のPCでスペースと矢印を同時に押しっぱなしにしたら
WM_KEYDOWNあたりは片方しかこないけど、GetKeyStateでは両方押されることに
なってた。 GetKeyState系APIで片方しか拾えないキーボードに出くわしたことある?

580 名前:デフォルトの名無しさん :2006/10/24(火) 23:28:58
>WM_KEYDOWNあたりは片方しかこないけど

押し始めは両方来るだろ?
そもそも GetKeyState って、WM_KEYDOWN 見てフラグたててなかったっけ


581 名前:579 :2006/10/24(火) 23:33:21
>押し始めは両方来るだろ?
これはくる。GetKeyStateの内部仕様なんて知らないw
576がまずありえないキーボードの心配をして書いたのか
普通にあることなのかが知りたかっただけ。

582 名前:デフォルトの名無しさん :2006/10/24(火) 23:38:03
キー2つ同時押しが出来ないキーボードはなかったと思うが、保証はされてないのかな

583 名前:デフォルトの名無しさん :2006/10/24(火) 23:54:30
キーボードの構造考えれば同時押しが保証されない事がすぐわかるだろ

584 名前:579 :2006/10/25(水) 00:04:51
>>581-582
わからない。その根拠は?
同時押しが保障されないならGetKeyState()の動作も保障されないことになってしまう。
保障されていると言い張ってる訳じゃないからね。

585 名前:579 :2006/10/25(水) 00:09:44
582-583の間違い

586 名前:デフォルトの名無しさん :2006/10/25(水) 00:22:43
動作が保障されない、の意味がよくわからん。
ハードが同時押しに対応していない結果、
片方しか押されていない状態と言い張るのだから、
当然GetKeyStateもそれに応じた動作をするだけじゃないの?

587 名前:579 :2006/10/25(水) 00:41:19
>ハードが同時押しに対応していない結果、
>片方しか押されていない状態と言い張るのだから

今の所、こう言い張ってる人はいませんよ。
576にしても可能性の話してるだけだし。
保障されてないと言い切ってるのは583だけ。

588 名前:586 :2006/10/25(水) 01:03:45
ああ、すまん
言い張るのだから->伝えてくるのだから
と読み替えてくれ。

589 名前:デフォルトの名無しさん :2006/10/25(水) 01:04:13
>>587
ヒント:保証するの主語は「ハード」


590 名前:デフォルトの名無しさん :2006/10/25(水) 01:15:16
フラグでも立てればいいやん

591 名前:579 :2006/10/25(水) 01:44:44
>>588
了解。
>>589
そりゃ秋葉原でキーボード買っても、マニュアルに同時押しを保障しますという記述はないだろうね。
自分的には583の根拠が知りたい。PC/ATの仕様にキーボードの記述があるんだろうか。

今日はもう寝るね。

592 名前:デフォルトの名無しさん :2006/10/25(水) 01:54:25
>>591
お休み
漏れも寝よう、zzzzz

593 名前:デフォルトの名無しさん :2006/10/25(水) 02:18:08
同時押し不可のキーボードがあったら「ゲームが動かないキーボード」として有名になってるはずだ。

昔、富士通のFMシリーズはそんなだったけど。

594 名前:デフォルトの名無しさん :2006/10/25(水) 02:40:44
X1も駄目だったらしい。
離された事が認識できなかったFMシリーズよりはまだマシか。

595 名前:567 :2006/10/25(水) 05:43:20
オレの神聖なレス番をくだらない質問につかってんじゃねーよボケ

596 名前:デフォルトの名無しさん :2006/10/25(水) 06:47:34
Nキーロールオーバーかな、PCJrがそれで失敗してるね。
今はいちいち歌ってないかも。

597 名前:デフォルトの名無しさん :2006/10/25(水) 08:32:53
スキャン構造の都合上、UP/DOWNイベントが同時に流せずに多少の時差が出るってことだろな
実用上同時に見えるから問題無し。 >>593 のように(UP)イベントが消えることがないしね。

# A↓ B↓ ---- B↑ で A押されてるのを忘れるんだけっけか < FMシリーズ

598 名前:デフォルトの名無しさん :2006/10/25(水) 10:51:06
X68Kで同時押し認識の改善で
ダイオードを入れる改造サービスとかあったな。
FMも77AVからちゃんと認識できるようになったんだっけ?

599 名前:デフォルトの名無しさん :2006/10/25(水) 10:54:58
同時押しだけならMSXが妙に性能良かったな。
PC/ATの場合はキーボードのスキャンコードが8バイトを
超えると駄目になる機種とかあった気がする。

600 名前:デフォルトの名無しさん :2006/10/25(水) 11:06:55
MSXのキーボードは珍しくパラレル接続だから

601 名前:デフォルトの名無しさん :2006/10/25(水) 15:39:03
昔、BM98で、左シフト、Z、X、Cの同時押しが効かなかったのを思い出した。
そのキーボードでは最後に押したキーが認識されなかった。
ちなみに、別のキーボードだと大丈夫だった。

>>591
詳しいことは忘れたが、最近のキーボードは、配線減らすために、同時押し
に制限が出てたと思う。
数万円とかのキーボードは違うかもしれん。
普通に使えば、どんなに速くタイピングしても、1、Q、A、Zのうち2つが同時に押される
ことはないよね、みたいな感じ。

602 名前:デフォルトの名無しさん :2006/10/25(水) 16:15:57
ttp://www.google.co.jp/search?num=100&lr=lang_ja&q=%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89+%E5%90%8C%E6%99%82%E6%8A%BC%E3%81%97

自分のところで同時押しが出来ても
他の環境では上手くいかない可能性もある。

APIの動作にしても、ハードから信号が来てない場合は
どうにもならんだろうしな。

603 名前:デフォルトの名無しさん :2006/10/25(水) 17:49:47
東プレのRealForceを使っている俺様には関係のない話だ。

604 名前:579 :2006/10/25(水) 18:01:31
色々情報ありがd。
Nキーロールオーバーという言葉はしらなかった。
Ctrl + Alt + 何か
というのは時々使うから最低3キーぐらいの同時押しは
認識するのが当然だと思ってたけどCtrl,Alt,Shiftは別腹
みたいね。お騒がせしました。

ハード板にロールオーバーの実験をしてるスレがあって
いろんな環境から実に2chらしい言葉を書き込みしてあったけど
高級Keyboardを除けば2キー以下のが結構あるみたい。
http://pc8.2ch.net/test/read.cgi/hard/1089362616/l50

605 名前:sage :2006/10/25(水) 18:16:58
なんか→押しっぱなしのままスペース押すと→が押されてるっていうのが認識されなくなる
自分のキーボじゃ2つのキー入力が認識されてないってことなのかな?


606 名前:デフォルトの名無しさん :2006/10/25(水) 18:25:30
うちのもそんな感じ。
>>597 のことをやると後半AのWM_KEYDOWNが来ないけど
最後のWM_KEYUPはくる。GetKeyState()で見ると両方押されてることに
なってるから認識はされてるとおもった。

607 名前:デフォルトの名無しさん :2006/10/25(水) 18:27:40
それは話が違うかと。


608 名前:デフォルトの名無しさん :2006/10/25(水) 18:33:48
中身は違うけど実験パターンだけ分かりやすいのでぱくった

609 名前:デフォルトの名無しさん :2006/10/25(水) 18:33:55
A↓         WM_KEYDOWN (A)
(キーリピート期間)  WM_KEYDOWN (A)
B↓         WM_KEYDOWN (B)
(キーリピート期間)  WM_KEYDOWN (B のみ)
B↑         WM_KEYUP (B)
(キーリピート期間)  *WM_KEYxxx は来ない
A↑         WM_KEYUP (A)

* となるのは Windows の仕様っぽいぞ。
KeyState は立上がり/立下りの変化点で更新しているから狂わないけどね。

610 名前:デフォルトの名無しさん :2006/10/25(水) 18:39:46
もいっちょ
1キーロールオーバーだと
A↓ down A
B↓ up A, dwon B
B↑ up B
A↑ (nop)

611 名前:デフォルトの名無しさん :2006/10/25(水) 18:44:03
1キーって実在するのか.....
dwonBのまえにupAが来るのは面白いね。

612 名前:デフォルトの名無しさん :2006/10/25(水) 18:46:45
>>611
昔の電卓がそうだった。 器用な使いまわしかたしてたな。
(最もそいつは B↓ で up A が出ない回路構成)

613 名前:デフォルトの名無しさん :2006/10/25(水) 18:49:14
あ >>610 は間違ってる。
 A↓ down A
 B↓ (nop)
 B↑ (nop)
 A↑ up A
だわ。 ワイワードOR で微妙に優先順位が付いてる

614 名前:デフォルトの名無しさん :2006/10/25(水) 19:16:30
昇竜拳は?

615 名前:デフォルトの名無しさん :2006/10/25(水) 19:20:06
WM_KEYUPってキーを離したときだけ来ると思ってたけど
押してない時は常にきてる?

616 名前:デフォルトの名無しさん :2006/10/25(水) 19:25:02
>>615
んなこたない

617 名前:デフォルトの名無しさん :2006/10/25(水) 19:48:25
>>616
意味わかんないとこでkeybd_event入れてたのが原因だった
押してないとき来てたら大変なことになるわな スマソ

618 名前:デフォルトの名無しさん :2006/10/25(水) 20:20:42
サーバへの送信データを RFC1867 の形式に
自動的に変換してくれる API ってありませんか?
つまり、Content-Type などのヘッダを生成して
その後にデータを付けるような形式にです

619 名前:デフォルトの名無しさん :2006/10/25(水) 20:54:15
自作アプリにIEの表示部分を埋め込むにはどうすればいいのん?

620 名前:デフォルトの名無しさん :2006/10/25(水) 21:44:00
>>619
COMってわかるか?

621 名前:デフォルトの名無しさん :2006/10/25(水) 22:09:29
>>620
麻生風にちょっとワロタ

622 名前:デフォルトの名無しさん :2006/10/25(水) 22:10:18
は?

623 名前:デフォルトの名無しさん :2006/10/25(水) 22:11:29
ひ?

624 名前:デフォルトの名無しさん :2006/10/25(水) 22:11:46
ふ?

625 名前:デフォルトの名無しさん :2006/10/25(水) 22:12:25
流れを断ち切る!

626 名前:再掲 :2006/10/25(水) 22:15:56
サーバへの送信データを RFC1867 の形式に
自動的に変換してくれる API ってありませんか?
つまり、Content-Type などのヘッダを生成して
その後にデータを付けるような形式にです

627 名前:デフォルトの名無しさん :2006/10/25(水) 22:21:39
>>626
HttpSendRequestとかそのへん。

628 名前:デフォルトの名無しさん :2006/10/25(水) 22:24:38
>>627
あれって自動的には変換してくれなかったような・・・

629 名前:再掲 :2006/10/25(水) 22:34:37
サーバへの送信データを RFC1867 の形式に
自動的に変換してくれる API ってありませんか?
つまり、Content-Type などのヘッダを生成して
その後にデータを付けるような形式にです

630 名前:デフォルトの名無しさん :2006/10/25(水) 22:36:19
サーバへの送信データを RFC1867 の形式に
自動的に変換してくれる API ってありませんか?
つまり、Content-Type などのヘッダを生成して
その後にデータを付けるような形式にです

631 名前:デフォルトの名無しさん :2006/10/25(水) 22:38:47
ID無いとこういうのは減らんよな

632 名前:デフォルトの名無しさん :2006/10/25(水) 22:40:09
>629
それくらい自前でやれ。

633 名前:626 :2006/10/25(水) 22:44:08
>>627
レスありがとうございます
その辺をよく調べてみます

なお、>>629-630 は自分ではありません
どっかの池沼奴による行為です
気にしないでください

634 名前:デフォルトの名無しさん :2006/10/25(水) 22:46:27
>>626は自分でやったのかよ

635 名前:デフォルトの名無しさん :2006/10/25(水) 23:28:47
どっちが池沼とかどうでもいいが
どっちもうざいのは変わりないな

636 名前:567 :2006/10/26(木) 05:14:44
 /i /{/'⌒'}  }}Y/ / ,r-、ヽ,  /
 ノ、|、ヾ_,,ノ  ノ ノ{ ヾ {^')) }フ/ /          _/
   \ヽ、    彡'`、、  'ー' ノ //",,゙ """ /    ヽ 
 ヽ-、ミ‐-、、 、,r=‐'¬ー=、、,-‐'_ ヽ、    /ノ     / 『味』 ウ・  こ
 ミ/   ~>>633       ̄ノ /\   /彡 ""  |/   だ  ソ・  の
  /   ,'    u ∪   ! ヽ  | i、゙ー''"彡     /|   ぜ   を・  味
  、、∪ / ノ /  _,,,...-‐‐ニ=,ノ,,/ ヽ、,,_ \   ,イ / |    :  つ・  は
  ニ、=!, l_. レr=-ニ二、,,,.-'"    ー、==-ヽ'"/ / ヽ   :  い・
  、(・,)>ノ⌒  ∠,(・,)_く  ゙`   ヽ゚ノ`ー=、_ /// ∠   :  て・
    ̄/""゙   ヽ ̄ ̄  \ヽ      ̄ ̄ //   ノ     る・
  u 〈  、     u   (ヽ          //     ̄ノ
    ヽ -'   lj     >、       //  /    ̄ヽ、
    /ヽー‐ 、      /'"´ 'i     //  /       ∨ヽ/
    ^゙"⌒ヾ、     ,i|  ,"__}    //  /  /
    ー-  -      ヽ_人`'′ //  /  /
               / i'゙' /-─‐‐''/_/_
   、         _/-‐ヽ、___,,,, -‐‐  ̄
   ー-、、,,__,-‐'//ノゝノ ノ  ヽ\

637 名前:デフォルトの名無しさん :2006/10/27(金) 08:17:22
キーを押してから、有効ディレイタイムをソフト内部で持ち、
その有効期間内で同時押しを判定しちゃダメかな?

638 名前:デフォルトの名無しさん :2006/10/27(金) 15:36:22
"c:\foo.txt", "c:\bar\baz.txt"
等の複数のファイルのパスをExplorerで切り取った状態にするにはどうすればいいでしょうか?

639 名前:デフォルトの名無しさん :2006/10/27(金) 16:04:51
>>638
それってAPI?

640 名前:デフォルトの名無しさん :2006/10/27(金) 16:22:07
DoDragDropあたりじゃね

641 名前:デフォルトの名無しさん :2006/10/27(金) 17:38:09
文字列分解をしたいのかファイル移動をしたいのか
質問の趣旨がよくわからん

642 名前:638 :2006/10/27(金) 18:44:36
文字列処理ではなくExplorerでそのファイルを選択して右クリックして切り取りを実行した状態を
Explorerを立ち上げることなく自前のプログラムでやりたいということです。

643 名前:デフォルトの名無しさん :2006/10/27(金) 18:50:02
Explorerで右クリックして切り取りは特に何の意味もないよ

644 名前:デフォルトの名無しさん :2006/10/27(金) 18:51:36
>>642
クリップボード周りMSDNで勉強汁

645 名前:デフォルトの名無しさん :2006/10/27(金) 19:04:33
Explorer以外へ貼り付けできないっぽいから
内部的に状態覚えてるだけだろ

646 名前:デフォルトの名無しさん :2006/10/27(金) 19:10:08
>>645
エクスプローラじゃなくても普通にコピーできたが?
切り取りすればコピーした後ちゃんと元のファイルも消える

647 名前:デフォルトの名無しさん :2006/10/27(金) 19:17:36
>>645
クリップボードに CF_HDROP で入ってる。

648 名前:デフォルトの名無しさん :2006/10/27(金) 19:29:40
あ、クリップボード見ても切り取りの動作は再現できないか。

649 名前:デフォルトの名無しさん :2006/10/27(金) 19:30:48
>>648
クリップボードに入れるときに切り取りかコピーを指定できるらしい?
ttp://sapporo.cool.ne.jp/tanomi/qanda/a056.html

650 名前:デフォルトの名無しさん :2006/10/27(金) 19:35:55
Preferred DropEffect見て貼り付ける側で処理するわけか。
OLED&Dみたく貼り付けるタイミングをクリップボードのオーナーが知る事は出来ないのか。

651 名前:デフォルトの名無しさん :2006/10/27(金) 19:41:35
CFSTR_PREFERREDDROPEFFECTを読むのに3秒位かかった

652 名前:デフォルトの名無しさん :2006/10/27(金) 21:10:37
CCDDEEEEEFFFFOPPRRRRRSTT_ [゚д゚]

653 名前:デフォルトの名無しさん :2006/10/27(金) 23:09:48
CreateDesktop 以外で同じような機能を実現できる方法ってないでしょうか?
というのも全画面ではなくウィンドウで作りたいのです。
(あれって全画面だけですよね?)

参考になるサイトなどあったら教えてください。

654 名前:デフォルトの名無しさん :2006/10/30(月) 14:57:08
ねーねー、
特定のアプリケーションの (たとえばタブブラウザのタブでのマウスイベント) を
フックしたり置き換えたりするにはどうすればいいのん?

655 名前:デフォルトの名無しさん :2006/10/30(月) 15:48:05
特定のアプリケーションの (たとえばタブブラウザのタブでのマウスイベント) を
フックしたり置き換えたりすればいいとおもうよ

656 名前:デフォルトの名無しさん :2006/10/30(月) 15:54:29
>>655
だからー
どーやってそれをするのん?
いけずしないでで教えてちょ

657 名前:デフォルトの名無しさん :2006/10/30(月) 16:38:14
>>656
ttp://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/hooks.asp

658 名前:デフォルトの名無しさん :2006/10/30(月) 16:43:12
>>657
英語苦手や
苦手やねん僕

659 名前:デフォルトの名無しさん :2006/10/30(月) 16:44:43
というかフックのやり方が知りたいのとちがうねん
それはわかるのだけどそれするとグローバルになっちゃうじゃない?
特定のアプリだけでする方法がしりたいねん

660 名前:デフォルトの名無しさん :2006/10/30(月) 16:48:11
:::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ:::::::::::
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''    >>659
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ


661 名前:デフォルトの名無しさん :2006/10/30(月) 16:55:24
>>660
知ってるもん
だから教えてほしいんだもん

662 名前:デフォルトの名無しさん :2006/10/30(月) 17:04:18
マジレスすると、そんな便利なAPIは無い。
ので、フックなりBHOなりリモートスレッドなりで普通に地道に処理するしかない。
クリック時に判定するとか、ウィンドウ作成時に判定してサブクラスするとか。

663 名前:567 :2006/10/30(月) 17:10:15
また変なのが沸いてるな

664 名前:デフォルトの名無しさん :2006/10/30(月) 17:16:04
3日近い沈黙を破ったかと思ったらこれか

665 名前:デフォルトの名無しさん :2006/10/30(月) 17:32:20
フック時にスレッド指定できるのに

666 名前:デフォルトの名無しさん :2006/10/30(月) 17:39:58
ビットマップ画像を読み込んでその画像のビット情報を配列に格納したい、
がやり方がわからない。GetDIBitsを使うのか?

667 名前:デフォルトの名無しさん :2006/10/30(月) 17:45:52
自分で読み込んだんなら自分で中身わかるだろ。
自分で読み込めないなら、GDI+ で読み込んで LockBits で中身を覗くのが簡単。

668 名前:デフォルトの名無しさん :2006/10/30(月) 17:54:23
>>665
それいいじゃん
ありがとう665^^

669 名前:デフォルトの名無しさん :2006/10/30(月) 18:23:06
>>666
Windowsビットマップファイルの構造調べればすぐわかるだろう‥‥
常識的に考えて‥‥

670 名前:デフォルトの名無しさん :2006/10/30(月) 22:00:51
DialogBoxでメインウィンドウを作成した場合
多重起動の防止はどのようにしたらよいのでしょうか。

教えてエロい人><

671 名前:デフォルトの名無しさん :2006/10/30(月) 22:06:23
普通に

672 名前:デフォルトの名無しさん :2006/10/30(月) 22:08:04
普通が分かりません>< 

673 名前:デフォルトの名無しさん :2006/10/30(月) 22:09:25
DialogBoxと多重起動は関係ないだろ

674 名前:デフォルトの名無しさん :2006/10/30(月) 22:19:54
メインウィンドウのタイトルとかクラス名で既起動のインスタンスを探しているんじゃ。

675 名前:デフォルトの名無しさん :2006/10/30(月) 22:26:55
ウィンドウクラスを登録してCreateWindowでウィンドウを作成していた時は
FindWindowで多重起動を防止していたのですが、DialogBoxで作成した場合の
多重起動防止方法が分かりません>< yes >>674

676 名前:デフォルトの名無しさん :2006/10/30(月) 22:33:43
ふつーmutex

677 名前:デフォルトの名無しさん :2006/10/30(月) 22:43:12
出来ました。ありがとう><  >>676

678 名前:デフォルトの名無しさん :2006/10/30(月) 23:16:07
HICON型に読み込んだアイコンを
HBITMAP型のビットマップに変換したいのですが。

アイコンを一旦ファイルに保存して、ビットマップとして読み込む方法以外に何かないでしょうか

679 名前:デフォルトの名無しさん :2006/10/30(月) 23:22:28
>>678
GetIconInfo

680 名前:デフォルトの名無しさん :2006/10/30(月) 23:27:02
>>679
ありがとうございます。
早速調べてみます。

681 名前:デフォルトの名無しさん :2006/10/31(火) 15:06:45
質問です。
とある文字列の配列を、OSのファイル名ソート順にしたがってソートしたいと思っています。

とりあえず単純にstrcmpで比較して行ないました。
ですが私のPCの名前順とは若干違うようでした。
(どうやら調べたところ、Windows98までは単純な文字コード順だったようです)

私のOSはWindows2000 SP4です。
どうやら、文字コード的には '_' > '0' なのに、OSでは_の方を先に表示してしまうようです。
他にも、全角アンダーバー _ は当然0x80以上なので後ろにくるはずなのに、ほぼ先頭に来ます。
「概ね文字コード順」なのですが色々記号まわりで例外があるようです。

この順番比較を行なってくれるWin32APIはありますでしょうか?
知っていらっしゃる方、ご教授よろしくお願いいたします。

余談ですが、XPだとまたファイルソート順が2kと違うそうです…。

682 名前:デフォルトの名無しさん :2006/10/31(火) 15:40:47
>>681
ワイド文字とかの問題じゃなくて?

683 名前:デフォルトの名無しさん :2006/10/31(火) 15:47:54
ご教授よろしくお願いいたしますもいいけど、
まずはCompareStringを試してみてから質問する程度の誠意は見せようよ。


684 名前:デフォルトの名無しさん :2006/10/31(火) 16:06:59
IShellFolder::CompareIDsじゃないか?

685 名前:デフォルトの名無しさん :2006/10/31(火) 16:09:02
>>682
質問の意図が読めませんが、一応「2kはユニコードだから、もしかしてユニコード順か?」
と思いチェックしました。
でも、半角文字ってユニコードにしてもコードかわってないんですよね。
相変わらず文字コード順とはいえない、独特な並び方に見えます<Windows2k

せめて法則性がきっちりわかれば、自分で比較関数書いてしまうのですが…

686 名前:デフォルトの名無しさん :2006/10/31(火) 16:10:48
>>683-684
失礼しました。
CompareString というものの存在自体に、気づけませんでした。
検索してみたところ、それらしい説明を発見しました。
試してみたいと思います。ありがとうございます。

687 名前:デフォルトの名無しさん :2006/10/31(火) 16:14:28
>>683
CompareStringを探している人間に、CompareStringを試してから質問しろって返事はおかしいだろw

688 名前:デフォルトの名無しさん :2006/10/31(火) 17:32:03
>>685
質問の意図が読めませんが、ってお前頭だいじょうぶか?
おめーが質問してんだろーが。

689 名前:デフォルトの名無しさん :2006/10/31(火) 17:54:38
これは恥ずかしいツッコミだ

690 名前:デフォルトの名無しさん :2006/10/31(火) 18:17:00
小学生から国語をやり直した方がいいな、これは。

691 名前:デフォルトの名無しさん :2006/10/31(火) 19:51:26
国語の履修漏れです。

692 名前:デフォルトの名無しさん :2006/10/31(火) 20:19:45
>>689-691
この流れいいなw

693 名前:デフォルトの名無しさん :2006/10/31(火) 21:36:42
>>686
CompareStringちょっと試してみたが、違うんじゃない?
例えば a1 a100 a2 の3つのファイル名があった場合、
Win2K以降のエクスプローラの表示順は a1 a2 a100
連続した数字を1つの塊として比較するような振る舞い。
CompareStringで a2 と a100 だけ比較してみたけど
a2 > a100 と返してくる。駄目じゃん。

694 名前:デフォルトの名無しさん :2006/10/31(火) 21:43:46
名前順にソートするとそうなるもんなマジで使えない

695 名前:デフォルトの名無しさん :2006/10/31(火) 21:50:53
右揃えにして比較とか

696 名前:デフォルトの名無しさん :2006/10/31(火) 21:53:13
文字列長で比較後辞書順?なのか?

697 名前:デフォルトの名無しさん :2006/10/31(火) 21:57:45
するってぇとCompareIDsの方か?

698 名前:693 :2006/10/31(火) 22:00:25
a1 a100 a2xxxxxx の場合でも
a1 a2xxxxxx a100 と数字の順になるよ。
試すのに1分もかからないんだから、試してから書き込もうよ。


699 名前:デフォルトの名無しさん :2006/10/31(火) 22:13:44
試す試さないというかこの資料をM$が用意してないとすると糞だと思う

700 名前:デフォルトの名無しさん :2006/10/31(火) 22:17:39
Windows Explorer のフォルダ内での整列の順序の話なら、
ShellNamespace がこの辺りをハンドルしてるわけだから、
CompareIDs() が正解なんじゃないかと思うが・・・

CMD.EXE の dir /ON が何をどうしているかは知らぬが。

701 名前:デフォルトの名無しさん :2006/10/31(火) 22:18:03
文字コードだと abc・・・ABC・・・、エクスプローラは [Aa][Bb][Cc]・・・だから、
俺は全部アルファベット小文字に変換してから辞書順ソートしてる
大文字にすると、アンダーバーが下にきちゃうのでアウト

702 名前:デフォルトの名無しさん :2006/10/31(火) 22:19:22
間違えた、全部小文字にしてからコード順

703 名前:デフォルトの名無しさん :2006/10/31(火) 22:22:18
lstrcmp

704 名前:デフォルトの名無しさん :2006/10/31(火) 22:40:23
>>703

705 名前:デフォルトの名無しさん :2006/10/31(火) 23:45:46
strstr

706 名前:デフォルトの名無しさん :2006/11/01(水) 09:12:55
stricmp

707 名前:デフォルトの名無しさん :2006/11/01(水) 09:29:55
>>693 >>698
いや、Windows2kだが、
a1 a100 a2 の順になった。
数字を優先してソートするのは、XPからの仕様のようだ(ぐぐった)
XPでも、レジストリいじると2kスタイルにできるそうだ

708 名前:デフォルトの名無しさん :2006/11/01(水) 09:55:23
IShellFolderの実体の実装依存なのでフォルダごとに違うルールでソートされる可能性すらある
しかしCompareIDsだとShellオブジェクトとして存在しない文字列のソートができない点が問題

709 名前:デフォルトの名無しさん :2006/11/01(水) 10:08:59
考えてみれば、IShellFolder使っちゃうと、XPと2Kと98で動作が違うアプリケーションになっちまうな。
もちろんエクスプローラー作っているのならいいが
「2kスタイルでソートしたい」
というアプリケーションの場合、IShellFolder依存ではまずい

710 名前:デフォルトの名無しさん :2006/11/01(水) 10:17:21
XPスタイルのソートはshlwapi.dllのStrCmpLogicalWで実現できそうだ
このAPI自体がXP以降だな

711 名前:デフォルトの名無しさん :2006/11/01(水) 13:10:57
>>669
だからそれをどうやって調べんの?って聞いてるじゃん。


712 名前:デフォルトの名無しさん :2006/11/01(水) 13:17:58
ペーストするごとにスタックから一行ずつ別のデータを貼り付けたいんですが
クリップボードの内容をペーストしたことを検出することは可能ですか?


713 名前:デフォルトの名無しさん :2006/11/01(水) 14:05:03
>>711
BMPファイルとして保存する方法を調べれば、やり方わかるはず。


714 名前:デフォルトの名無しさん :2006/11/01(水) 14:27:33
>>711
http://download.microsoft.com/download/4/1/0/410b3230-2d36-409c-b5d4-034ab5582c4c/JSSA_Image_Kiso.doc

715 名前:デフォルトの名無しさん :2006/11/01(水) 14:29:27
win32::OLEとsamieで IEを操作しようと思うのですが、
アドレスとソースの取得はどのようにやればいいのでしょうか?



716 名前:デフォルトの名無しさん :2006/11/01(水) 17:19:36
アクセス権管理について教えて下さい。
win2003から搭載された機能で、「有効なアクセス許可」
という機能があります。

以下参照:
http://www.atmarkit.co.jp/fwin2k/win2ktips/701aclcheck/aclcheck.html

これと同等のプログラムを作るにはどうしたら良いでしょうか。
Windows 2000、2003、XPで動作させたいと思っています。
言語はWSH(VBS等)かCで、Administrator権限で動けばオーケーです。

まず以下を調べましてアクセス許可の判定方法が分かりました。
http://www.microsoft.com/japan/technet/prodtechnol/windows2000serv/books/netupgrd.mspx#EYIAC

さらに以下のページを調べ、随意アクセス制御リストなる物を
取得する方法が分かりました。
http://www.microsoft.com/japan/technet/scriptcenter/scripts/security/dacls/sedcvb01.mspx

基本的にはこれで必要な情報が揃ったと思うのですが、上記の情報
だけを元にコーディングするのは、グループのネストやフォルダの
親子関係等の調査等々を含めると、それなりに複雑なプログラムに
なってしまいそうです。
目的の機能をもっと簡単に実現できるcomインターフェースはありま
せんでしょうか。

717 名前:デフォルトの名無しさん :2006/11/01(水) 19:30:03
>>716
caclsを読めばわかるが楽な方法はない

718 名前:デフォルトの名無しさん :2006/11/01(水) 19:38:24
質問です。
今効果音の再生にPlaySoundを使っているのですが
PlaySoundだと2つ以上の音声を同時に流せないので困っています
なにを使うと良いでしょうか?

719 名前:デフォルトの名無しさん :2006/11/01(水) 19:40:25
googleを使って調べるといいよ

720 名前:デフォルトの名無しさん :2006/11/01(水) 20:14:30
マルチスレッドでやればぁ

721 名前:715 :2006/11/01(水) 20:44:00
>>717さん、ありがとうございます。
頑張ってコーディングしてみます

722 名前:716 != 715 :2006/11/01(水) 20:47:08
あ、ごめんなさい。イッコ上は、>>716です。

723 名前:デフォルトの名無しさん :2006/11/01(水) 20:58:44
>>719->>720
ありがとうございます
試してみます

724 名前:デフォルトの名無しさん :2006/11/01(水) 22:08:27
マルチスレッドでやってみたのですが
やはり先に流してたほうを中断されてしまいます

googleで調べてみるとMCIでの再生が出てきたのですが
PlaySoundより細かい処理ができる様ですが2つ同時再生ができるのでしょうか?

725 名前:デフォルトの名無しさん :2006/11/01(水) 22:26:35
やってみろよ。
試行錯誤しないと成長できんぞ。

726 名前:デフォルトの名無しさん :2006/11/01(水) 22:44:57
http://pc8.2ch.net/test/read.cgi/tech/1158296664/197
http://pc8.2ch.net/test/read.cgi/tech/1159158014/718
死ねマルチ

727 名前:デフォルトの名無しさん :2006/11/01(水) 22:46:18
マルチスレッド違い

728 名前:デフォルトの名無しさん :2006/11/01(水) 23:04:16
midiはPlaySoundじゃ再生できないんじゃないかな?かな?

729 名前:デフォルトの名無しさん :2006/11/02(木) 00:22:03
>>724
MCI、playSoundともに同時再生は環境依存(Win95+ISAバスサウンドカードなんかは無理)
DirectSound使え。

730 名前:567 :2006/11/02(木) 02:53:11
そっちのマルチスレッドかよwwwwwwwwwwwwwww

731 名前:デフォルトの名無しさん :2006/11/02(木) 09:31:06
確実にローカルファイルにしかアクセスしないようにするため
一時的にブラウザがネットにアクセスしないようにすることってできますか?

732 名前:デフォルトの名無しさん :2006/11/02(木) 09:32:26
>>731
オフラインモード

733 名前:デフォルトの名無しさん :2006/11/02(木) 09:52:35
PC初心者
http://pc7.2ch.net/pcqa/

734 名前:731 :2006/11/02(木) 15:36:12
手動でやるしかないということですね。
ありがとうございました。

735 名前:デフォルトの名無しさん :2006/11/02(木) 20:25:31
>>731
WinInetではできないのか…。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/option_flags.asp

> INTERNET_OPTION_OFFLINE_MODE
> Not implemented.

736 名前:デフォルトの名無しさん :2006/11/02(木) 21:20:08
>>731
接続する前にレジストリ弄ればオフラインモードになるよ

737 名前:デフォルトの名無しさん :2006/11/02(木) 22:25:55
教えてください。

CreateProcessを使って特定のプロセスに引数付で起動させたいんですが
エラーが出てしまいFormatMessageで調べたところ。

「メモリロケーションへのアクセスが無効です。」

というメッセージが生成されてしまいます。

以下ソース

/* ExePathは"hoge.exe Arg" */
if(!CreateProcess(NULL, &ExePath[0], NULL, NULL, FALSE,
NORMAL_PRIORITY_CLASS, NULL, NULL,
&startInfo, &procInfo))
{
ErrorLine = __LINE__;
goto FUNC_END;
}

InternetCloseHandle(hInternet);
InternetCloseHandle(hHttpSession);
InternetCloseHandle(hHttpRequest);
SendMessage(hWnd, WM_CLOSE, 0, 0);

以上。

CreateProcessの後にSendMessageでプロセスを即座に終了させてるからいけないんでしょうかね。
とりあえず自分はもうお手上げ状態なんでレスさせてもらいました。

738 名前:デフォルトの名無しさん :2006/11/02(木) 22:32:48
>というメッセージが生成されてしまいます。

どっちのプロセスで出てるの?

739 名前:デフォルトの名無しさん :2006/11/02(木) 22:36:51
startInfo, procInfo の中身が変ってのがありがちじゃあるまいか

740 名前:デフォルトの名無しさん :2006/11/02(木) 22:47:34
STARTUPINFO の cb にサイズを入れてないんじゃない?

741 名前:デフォルトの名無しさん :2006/11/02(木) 22:52:00
すんません自分で解決して書き込もうと思ったら既に・・・・・。

STARTUPINFO startInfo;
PROCESS_INFORMATION procInfo;
上記の二つの構造体をmemsetで0x00初期化したらなおりました。

正直あs;dgljwくぁ;えlkjf;あうぇです。

二つの構造体の中身をよく理解しときます。>>738-740ありがとうございました。

742 名前:デフォルトの名無しさん :2006/11/02(木) 22:52:52
>>738
因みに起動側プロセスに出てましたね

743 名前:デフォルトの名無しさん :2006/11/02(木) 23:43:35
>>741
PROCESS_INFORMATIONは初期化しなくても平気。
STARTUPINFOはFlagsさえきちんとしておけば平気。

確かこうだったと思う。

744 名前:デフォルトの名無しさん :2006/11/03(金) 01:35:35
どちらにしろ構造体は最初memsetしといたほうがいい

745 名前:デフォルトの名無しさん :2006/11/03(金) 01:55:36
二次元配列の初期化の仕方がわからないんだけぢ
char sz[128][258] = {0};
これでいいの?

746 名前:デフォルトの名無しさん :2006/11/03(金) 05:07:29
int[2][2] = { {11, 12}, {21, 22} } ;

747 名前:デフォルトの名無しさん :2006/11/03(金) 11:24:50
スレタイを鑑みれば、
ZeroMemory( sz, sizeof sz );

748 名前:デフォルトの名無しさん :2006/11/03(金) 11:54:17
UDFリーダーを作ろうとしているのですが、ECMAもOSTAも構造体の形式的な定義が
わかりにくい感じでズラーっと書いてあって実際にどう使うのかが殆ど書いてありません。

家庭用DVDレコーダーで記録済みのDVD-RWとつきあわせて
そのDVDの場合についてはわかってきましたが色々謎の部分が多いです。
ボリュームディスクリプタシーケンスが
なんで複数のプライマリボリュームディスクリプタを持つのか、とか・・・

いいソースコードないでしょうか・・・

749 名前:デフォルトの名無しさん :2006/11/03(金) 11:57:15
それはAPIの質問なのか?

750 名前:デフォルトの名無しさん :2006/11/03(金) 12:56:19
分からないなら黙ってて


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.