[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 06/18 16:04 / Filesize : 111 KB / Number-of Response : 495
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build64



1 名前:デフォルトの名無しさん [2008/04/02(水) 10:21:31 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-10くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

【前スレ】
Win32API質問箱 Build63
pc11.2ch.net/test/read.cgi/tech/1204600558/


40 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:19:53 ]
質問させてください。
WS_OVERRAPPEDWINDOWなどのスタイルで、タイトルバーのあるウィンドウを作っていて、
メッセージループでgetTimeGetを使うことでタイマーを実装しています。

タイトルバーをクリックしながらウィンドウを移動していると、
メッセージループ内の処理が行われないといった現象を回避する方法ってありますか?
具体的には、↓のようなプログラムです

startTime=timeGetTime();
while(msg.message!=QUIT){
if( PeekMessage (&msg,NULL,0,0,PM_NOREMOVE) ) {
if( !GetMessage (&msg,NULL,0,0) ) { msg.message = WM_QUIT; }
else {DispatchMessage( &msg );}
}
else{
if( (timeGetTime()-startTime)>3000 ){
MessageBox(hwnd,"ココ","caption",MB_OK); //移動が終わるまで
//これが出力されない
break;
}
Sleep(5);
}
}





41 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:29:24 ]
getTimeGetに噴いた

42 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:45:10 ]
シンディローパーの曲のようだ

43 名前:40 mailto:sage [2008/04/03(木) 22:48:29 ]
timeGetTimeでした><
はずかしぃ・・

44 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:11:57 ]
DrawText → DrawTextEx なのに、TextOut → ExtTextOut
返値が BOOL で GetLastError かと思ったら、レジストリ系は返値が LONG、COM 系は HRESULT
Kernel ハンドルの破棄は CloseHandle なのに User ハンドルは Destroy〜、GDI ハンドルは DeleteObject と名称がバラバラ
しかも Kernel 系でも FindFirstFile だけは FindClose だったり
WINMM 系は関数名が小文字で始まっていたり・・・

なんでこんなに統一性が無いのか気になって仕方がないんだけど知ってる人いる?

45 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:15:25 ]
16bit時代からの互換性を考慮したから

46 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:22:05 ]
>>32
その手のプログラムを作ること自体の是非はともかくとして、
その手のプログラムを作るなら人に聞かずにヤレと思うよ。

>>37
DirectXはCOM「もどき」で、MSがラッパーを用意してたりするし、
COMといってもオマジナイや定型文だと思ってもいいくらい。

47 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:27:48 ]
>>44
直交性がないのはアレだが、混同しにくいという利点もあるぞ。

48 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:33:02 ]
このスレはシステムプログラミングに明るい人が少ないか、
極度にネガティブなイメージを持ってる人が多いらしいので聞くだけ無駄なことが多い
フックとかマルウェア技術に関してはぐぐーる先生のほうがよっぽど使える



49 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:34:43 ]
>>40
それは現象ではなく仕様。

ウィンドウの移動中に、ユーザの他の操作を受付けるのはナンセンスだし、
基本は移動枠が出るだけで描画は一切行わないので、メッセージポンプを回す必要もない。
逆に、回してしまったら変なことになるぞ。

ウィンドウの移動を自前で処理すりゃ
メッセージポンプを回すこともできるが、
そんな気持ち悪いことをするのもなぁ。

50 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:36:53 ]
>>48

51 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:37:29 ]
>>48
マルウェア作成技術にはネガティブなイメージを持って当然だろ。

ちなみに、
悪さするプログラムを作った人間が逮捕され、
2chのスレでやり方を教えてもらったと言ったら、
教えたほうは幇助で逮捕されかねんぞ。


52 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:44:41 ]
他プロセスにdllを注入して〜とかそういうのが多すぎ
質問するなとは言わんがスレの半分ぐらいがそんなのばっかりなんてどう考えても異常だろ
同じ奴が何度も質問してるのか?

53 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:48:21 ]
悪さするプログラムを作っても一切に罪には問われません

54 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:53:48 ]
>マルウェア作成技術にはネガティブなイメージを持って当然だろ。
そーなのかー 
その辺に自分とほかとの意識の違いがあるらしいことは理解した
(個人的には、いろんなサンプルコード片を書いたり教えたりするけど、
 それを第三者がどういう目的で利用しようが関係ないと思ってる)

「既出杉。調べれば判るだろ」ってのは同意だけどね

 


55 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:57:17 ]
めんどくせぇからwizard bibleでも見てろって感じだな

56 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:11:15 ]
ウザい頻出ネタまとめ

問) 他プロセスのコマンドライン文字列を取得するにはどうすればいいですか?
答) 次のどちらかで取得できる。
・CreateRemoteThreadでGetCommandLineを送る。
・NtQueryInformationProcessでPEBからReadProcessMemoryする。

問) フックしたプロセスでメインウィンドウのHWNDを取得するにはどうすればいいですか?
答) そのものズバリな方法は無い。
  ウィンドウクラス名が分かっている時はFindWindow(Ex)する。
  分かっていない時はEnumWindowsとGetWindowThreadProcessIdを組み合わせる。

問) 特定のプロセスの音量を制御するにはどうすればいいですか?
答) Vista買え。

57 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:26:46 ]
ochinchin.h を omanko.cpp に include したのに童貞のままです。
どうしたらいいですか。

58 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:29:03 ]
はいはいよかったですね



59 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:29:42 ]
>>57
先っちょだけだからです!
じゃなくて、その ochinchin.h はあなたの物ではありません

60 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:36:50 ]
やり方が間違っている。
まずお前のイチモツをDLL化する。ochinchin.dll
そしてomanko.exeのプロセスにDLLインジェクションでochinchin.dllを挿入すればいい。

61 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:39:20 ]
>>52
周囲の人間に聞いても教えてもらえない or 聞くのが憚られる
匿名ではない掲示板で聞いても教えてもらえない or 聞くのが憚られる
それで2chのこのスレに殺到する

ってことかもしれんな。

62 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:42:23 ]
>>57 のことかーーーーー!!!

ってか親切に解説してくれているサイトを見るの方が
関連情報も一箇所にまとまってるから
よっぽど早く目的達成できるのにな

63 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:45:27 ]
>>57-60
質問して断られて逆恨みして粘着してる人間がいるんだな。

>>56
こういうのはどうだ?

Q. 他プロセスのコマンドライン文字列を取得するにはどうすればいいですか?
A. 他プロセスにコマンドライン文字列を教えるためのインタフェースを設ける。

質問の主が後ろめたいことをやろうとしているのではなく、
複数のプロセスで協調動作するプログラムを書いているという仮定をしてさ。

他のプロセスが他人の書いたプログラムだって言うのなら、
その他のプロセスを自分でCreateProcessして、
その時のコマンドラインを覚えとけ、と。

64 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:52:34 ]
>>63
うしろめたいってか、UNIX系だと簡単にコマンドライン取れるんじゃね。
よく知らんけど。

65 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:00:35 ]
だったらUNIX系を使っとけ

66 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:30:35 ]
Win32サブシステムではなくPOSIXサブシステムを使えばいいんじゃね?
Interixの会社をマイクロソフトが買収してSFUとして無料で提供してるのを使えばいいんじゃね?

67 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:19:30 ]
1ヶ月ぐらい前にウイルス作成方法を公開してた奴が逮捕されたとかいうニュースを見た気がする

68 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:23:02 ]
裁判で有罪になるかどうかは別として、

自力で調べられないようなタイプのハッカーもどきは、
十中八九、簡単に足が付くようなやり方をするから、
あんまり関わらないほうがいい。



69 名前:デフォルトの名無しさん [2008/04/04(金) 10:21:37 ]
iniファイルを扱いたいのですけど
WritePrivateProfileSectionつかうと同じセクションの内容を上書きしてしまいますよね
追加はどうすればいいのでしょうか

70 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:26:22 ]
>>69
追加というのは、具体的に、どういうこと?

同一セクション内に同一のキーはダメだよ?

71 名前:デフォルトの名無しさん [2008/04/04(金) 10:28:55 ]
>>70
別キーを同じセクションに保存できないのです
説明下手でスマン

72 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:29:39 ]
>>67
ウィルス作成では現行の法運用では罪を問えなかったので
著作権違反の疑いで逮捕した

73 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:36:51 ]
>>71
WritePrivateProfileStringな

74 名前:デフォルトの名無しさん [2008/04/04(金) 10:39:17 ]
>>73
ありがとう!

75 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 11:02:49 ]
WritePrivateProfileSection
> 指定された .ini ファイル(初期化ファイル)の、指定されたセクション内の
> 既存のキー名と値を削除し、
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 指定されたキーとその値のペアを書き込みます。


76 名前:デフォルトの名無しさん [2008/04/04(金) 11:34:43 ]
WinXPのタスクバーの自分のアプリ部分の領域に描画することは可能ですか?
プログレスバーのように進捗を表示したりといった感じです。

77 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 11:43:34 ]
タイトルのこと?アイコンのこと?
まあどっちも可能

78 名前:デフォルトの名無しさん [2008/04/04(金) 11:48:49 ]
両方です。その方法を教えてください。



79 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:35:21 ]
UNIXでも他プロセスのコマンドラインを取るのは素直にはできへんよ。


80 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:43:10 ]
タスクバーの奴もボタンなわけだから
フックで入って描画ルーチンをのっとる

下手くそなフックするとExplorerが落ちまくりになるけどNe!

81 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:46:51 ]
タスクバーのフックならTClockのソースでも見るがよろし

82 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:56:27 ]
Jane Styleは空のDLLを注入しただけで落ちるんだけどw
中でとんでもない事をしてそうで気になる

83 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 14:01:13 ]
>>79
psコマンドで一発じゃね?

84 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:11:16 ]
psでも引数が見えないのはある。
例えばsendmailとか。

85 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:19:57 ]
forkで親はとっくにいないとかじゃなくて?

86 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:35:24 ]
>>80-81
タスクバーなんてOSのバージョンが上がる度に構造が変わるような物を安易にフックすべきでは無かろう
進捗状況を出したいならメインウィンドウのタイトルを"10% 完了"みたいに変えればいい

87 名前:40 mailto:sage [2008/04/04(金) 19:52:31 ]
>>49
なるほど。
そういった仕様ということはあきらめるしかないですね。
参考になりました、ありがとうございます!

88 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:57:30 ]
ISAPI用のDLLの中でファイルの属性を変更するために
SetFileAttributes()を使いました。
その際、windows2000server、IIS5環境では問題なく動作したのですが
windows2003、IIS6環境ではSetFileAttributes()が失敗します。
原因としてはどのようなことが考えられるでしょうか



89 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:59:16 ]
途中で送信してしまいました。
また、代用となる関数、方法などありましたら教えてください。

90 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 20:12:08 ]
GetLastErrorの戻り値は?

91 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 20:35:05 ]
十中八九、アクセス権の問題だと思う。

92 名前:デフォルトの名無しさん [2008/04/04(金) 20:46:58 ]
EM_GETLINEを送ってもバッファに文字列が格納されないんですが、
int iLine = 1;
char buf[256]={0};
*(WORD *)buf = (WORD)sizeof(buf);
SendDlgItemMessage(hWnd,IDCEDIT,EM_GETLINE,(WPARAM)iLine,(LPARAM)buf);

93 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:00:48 ]
SendDlgItemMessageの戻り値は?

94 名前:デフォルトの名無しさん [2008/04/04(金) 21:36:47 ]
>>93
戻り値はどうやって取得すればいいんですかね?
LRESULT er;
er = Send(ry;
こうですか?

95 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:45:52 ]
MSDN見るなりググるなりヘッダファイルみるなりするナリよ

96 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:07:03 ]
>>67
平気で嘘つくの辞めようぜ

97 名前:デフォルトの名無しさん [2008/04/04(金) 22:12:37 ]
>>95
GetLastErrorですか?

98 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:36:30 ]
>>92
EM_GETLINEの説明を読め



99 名前:デフォルトの名無しさん [2008/04/04(金) 22:50:28 ]
>>98
WPARAMで行を指定
LPARAMでバッファを指定
バッファの先頭2byteはバッファサイズを入れておく
足りませんか?

100 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:11:52 ]
1. SendDlgItemMessageがSendDlgItemMessageW
2. 対象Editの2行目に1文字も無い

101 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:17:58 ]
>>86
どうせアイコンは小さいのだから、
あらかじめアイコンを5パターンくらい用意して、
Shell_NotifyIcon で切り換えればいいと思う。


102 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:19:42 ]
それはタスクトレイの話じゃないのか?
タスクトレイなら動的にアイコンを描画してアイコン切り替えればいいだけだぜ。

103 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 01:05:25 ]
タスクバー右クリック->ツールバー で一覧が出てくる
WMPやらGoogleデスクトップ検索みたいに表示したいってことか?
俺はやり方知らないけどググれば出てきそう

104 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 04:39:10 ]
>>102
× タスクトレイ
○ 通知領域

Win32スレでそういう間違った名称使うのやめとけ

105 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 05:16:35 ]
メディアプレイヤーのProgIDとインタフェイス名とID(IID_Xxxxみたいなの)教えてください。
CreateWindowとAtlAxGetControlを利用したいのです。

Win32じゃないかもしれないけどお願いします。

106 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 05:32:09 ]
>>105
OLE/COM Object Viewer

107 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 05:33:00 ]
帰れw

108 名前:デフォルトの名無しさん [2008/04/05(土) 07:09:53 ]
モマエら
よその国の人はどんどん進歩しているのに、日本人同士で足引っ張り合って
自滅するかも知れないと思ったことはないのか。

攻める先を取り違えるな。



109 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 07:41:03 ]
>>104
つ Microsoft.com Japan サイトの検索
そこまで厳密にしなくてもいいんじゃね?と思った。

110 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 08:53:03 ]
この件で誰を攻めるとか考えてる時点で終わりだ。
そんなのは無駄な時間だ。

111 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 09:31:06 ]
アイコンが並んでいる部分はタスクバー上のタスクトレイの中の通知領域だよ
XPではWindows9xの頃とタスクバーの実装が変わっていてタスクトレイと呼べるのか微妙だけど
互換性の為かShell_TrayWndというクラスのWindowは存在している

112 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 09:36:37 ]
トレイはTrayNotifyWndの方だな
このWindow構成を見るとタスクトレイというのは本来はタスクバー自体の事なのかもしれないな

113 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:10:35 ]
タスクトレイは時計を含む領域だけど、
通知領域は時計は含まないってこと?

114 名前:デフォルトの名無しさん [2008/04/05(土) 11:31:27 ]
>>100
出来ませんでした。

115 名前:デフォルトの名無しさん [2008/04/05(土) 11:34:10 ]
>>100
自己解決しました。

116 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:42:46 ]
このスレて寒いレスするバカが常駐してるよな

117 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:09:07 ]
>>116
痛い質問して、期待した回答が得られなくて、逆恨み粘着だろうな。

118 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:14:02 ]
>>117
とりあえず、答えればいいんだよバカが



119 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:15:59 ]
>>118
お前みたいなスタンスの人は、
マイクロソフトの有償サポートを使えよ。

120 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:25:38 ]
>>116=寒いレスするバカ

121 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:53:56 ]
何でここの人はやさしさが無いんだろうな。ゆとりがたりないのか?

122 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:54:46 ]
俺は普通に答え取るがな(´・ω・`)

123 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:56:40 ]
>>121
優しさがないのは、約一名の粘着して荒らしている人だけ。

124 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:58:03 ]
なんで仲良くできないの!あなたたちは!

125 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 13:00:47 ]
あと、自分を正当化ばかりしてる人ってまぁ、リアルでも2chでも多いよな。
自信があるのはいいことだけどさ。

126 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:39:11 ]
>>16のようなレスにいつまでも釣られるお前らの責任でもあるんだよ
2chのしきたりとか分かってない

127 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:58:55 ]
言いたい事も言えないこんな世の中じゃ(ry

128 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:15:26 ]
POISON!



129 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:16:50 ]
>>108
モマエら
よその星の人はどんどん進歩しているのに、地球人同士で足引っ張り合って
自滅するかも知れないと思ったことはないのか。

攻める先を取り違えるな。

130 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:18:29 ]
防衛省もUFO対策を論じるくらいだからやばいな

131 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:21:51 ]
中華対策はしないのにな

132 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:19:36 ]
スレを荒らすのヤメロ。

ちょっと自重しろ。

133 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:59:08 ]
エクスプローラーのフォルダアイコンってどこから取ってくればええんでしょうか。
2kとxpで違ったりしますか?

134 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:19:24 ]
>>133
マイクロソフトに「アイコンください」と言えばもらえるよ。

135 名前:デフォルトの名無しさん [2008/04/05(土) 17:22:33 ]
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。


136 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 18:05:43 ]
>>106
そういえばそんなのあったの思い出した
さんくす

137 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 19:57:39 ]
ちなみにOLE/COM Object Viewerの使い方はこの本に載ってるよ

Visual C++プログラマのためのCOM入門
www.seshop.com/detail.asp?pid=1022

138 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:05:09 ]
MCI_OPEN_PARMS mop;

case WM_CREATE:
mop = MCIOPEN(filename , MCI_DEVTYPE_SEQUENCER, hWnd);
return 0;

case WM_KEYDOWN:
if(wp == VK_UP)
mciSendCommand(mop.wDeviceID , MCI_PLAY , MCI_NOTIFY , (DWORD)&mop);
else
mciSendCommand(mop.wDeviceID , MCI_STOP , 0 , 0);
return 0;

case MM_MCINOTIFY:
mciSendCommand(mop.wDeviceID , MCI_STOP , 0 , 0);
mciSendCommand(mop.wDeviceID,MCI_SEEK,MCI_SEEK_TO_START,0);
mciSendCommand(mop.wDeviceID , MCI_PLAY , MCI_NOTIFY , (DWORD)&mop);
return 0;
}

上記のような、midiファイルを↑キーで再生、他のキーで停止、曲の最後まで行ったらまた初めからループするプログラムを作ったのですが、
↑以外のキーを押して曲を止めても、勝手に曲の初めから流れ始めます。
MCI_PLAYのMCI_NOTIFYを外してみると曲が止まったままにすることが出来たのですが、それだとループになりません。
ループするようにしたmidiを、停止することはできないのでしょうか?



139 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:07:19 ]
>>138
MM_MCINOTIFYのwParam見れ

140 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:15:37 ]
>>139
if(wp == MCI_NOTIFY_SUCCESSFUL) で、できました。
ありがとう。

>>139を見て MM_MCINOTIFY wparam でググったら出てきましたが、
こういう〜に〜が格納されるという情報はどこから仕入れているんですか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<111KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef