■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build34
501
名前:
デフォルトの名無しさん
:2005/08/18(木) 01:08:56
IME系のメッセージで質問なのですが、
日本語変換が終わった瞬間に「WM_IME_ENDCOMPOSITION」が来て
そのあと変換された文字が連続して「WM_IME_CHAR」で流れて来るみたいですが、
このWM_IME_CHARが文字数分すべて流れ終わった瞬間を知りたいのですが、
どうしたらよいでしょうか?
502
名前:
デフォルトの名無しさん
:2005/08/18(木) 04:01:18
すいません、もう一つ質問させてください。
IMEで漢字変換確定後に流れてきた「WM_IME_CHAR」のWPARAMの文字コードを
wstring型の文字列に積んでいくにはどうしたらいいでしょうか。
型変換の方法がわからないので「wstr+=wparam」のように
そのまま積んでみたのですが文字化けして全然ダメでした。
503
名前:
デフォルトの名無しさん
:2005/08/18(木) 07:57:30
>>496
TerminateProcessを普通は使う
ExitProcessを使いたいなら対象のアプリにもぐりこんでやれば使えるが・・・
504
名前:
デフォルトの名無しさん
:2005/08/18(木) 08:34:05
>>496
プロセスの終わらせ方のバリエーションとしては、
プロセスをジョブに割り当てて、クオータみたいなもので管理して、
終了させることはできたような気がする。
505
名前:
デフォルトの名無しさん
:2005/08/18(木) 11:51:49
コンソールアプリで「簡易編集モード」をオフにする方法ありますか?
506
名前:
デフォルトの名無しさん
:2005/08/18(木) 11:57:22
>>505
「簡易編集モード」を含めたコンソールウィンドウ設定プロファイルは、キャプション文字列ごとにレジストリに保存される。
CreateProcessの引数にコンソールウィンドウのキャプション文字列を指定する項目がある。
・・・あとは判るな?
507
名前:
501-502
:2005/08/18(木) 14:01:04
自己解決しました。
508
名前:
デフォルトの名無しさん
:2005/08/18(木) 15:42:37
解決したなら解決方法うp夜路死苦
509
名前:
デフォルトの名無しさん
:2005/08/18(木) 16:28:08
>>508
なんで?
510
名前:
デフォルトの名無しさん
:2005/08/18(木) 16:41:19
同じ疑問持ってる人がこれ見たとき解決方法が書いてないと困るだろ?
あと、只でアドバイス貰ってるんだから、せめてその成果くらい提示するのがマナーってもんだろ。
511
名前:
デフォルトの名無しさん
:2005/08/18(木) 17:55:31
winsock2でsocketでエラーが出ますか?
512
名前:
デフォルトの名無しさん
:2005/08/18(木) 17:59:01
は?
513
名前:
デフォルトの名無しさん
:2005/08/18(木) 18:05:49
そりゃでるだろうな。
資源は有限だから。
514
名前:
デフォルトの名無しさん
:2005/08/18(木) 20:08:06
リッチエディットコントロールについて質問があります。
EM_LIMITTEXTでエディットの容量を3文字にして、
普通に入力すると3文字分でEN_MAXTEXTのメッセージを受け取れるんですが
SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"ABCDE");
という具合に3文字以上挿入した時エディットの上限を超えた
メッセージ(EN_ERRSPACEだと思うんですが)を
受け取りたいのですがうまくいきません。
考え方間違ってるんでしょうか。よろしくお願いします。
515
名前:
デフォルトの名無しさん
:2005/08/18(木) 20:16:47
うまくいかないとは?
516
名前:
デフォルトの名無しさん
:2005/08/18(木) 20:27:19
>>515
すみません。
メッセージを受け取って処理したいんですが。
メッセージが受け取れないってことです。
517
名前:
デフォルトの名無しさん
:2005/08/18(木) 21:57:04
EN_ERRSPACEはバッファの割当てに失敗した時に送られるのであって、LIMITTEXTを越えたら送られるのでは無いはず
518
名前:
デフォルトの名無しさん
:2005/08/18(木) 23:12:26
>>502
MSDNに思い切り書いてある。
519
名前:
ya-su
:2005/08/18(木) 23:36:11
Getdibitsで、DIB_PAL_COLORSを最後の引数として、パレット番号を取得したいのですが、期待した値が返ってきません。
ReDim Pix(x, y) as byte に入れているのですが、
ペイント系ツールのパレットと違う値が入っています。
とりあえず、0から12の値が返っています。
そもそも、Getdibitsでパレット番号を取得できるのかということも、
ぐぐっても確認できません。
DIB_PAL_COLORSを最後の引数として返ってくるものは、
パレット番号なのでしょうか?
格納するReDim Pix(x, y) as byte が悪いのでしょうか?
520
名前:
デフォルトの名無しさん
:2005/08/18(木) 23:39:58
>>496
リモートスレッド
521
名前:
デフォルトの名無しさん
:2005/08/19(金) 00:31:22
MSNメッセンジャーのアイコンとか変更するAPIとかあったりします?
522
名前:
デフォルトの名無しさん
:2005/08/19(金) 00:49:38
あるわけねぇだろ
523
名前:
デフォルトの名無しさん
:2005/08/19(金) 04:51:14
>>404
>>405
>>407
>>409
524
名前:
514
:2005/08/19(金) 11:00:44
>>517
LIMITTEXTを越えたら送られるメッセージとかあるんでしょうか。
525
名前:
デフォルトの名無しさん
:2005/08/19(金) 14:08:09
クリップボードにファイルのデータを転送し、エクスプローラなどで貼り付けを行えるようにしたいのですが、
その場合、SetClipboardData関数の第一引数にどれを使えばいいのかわかりません。
CF_TEXTなどは単に文字列を転送する場合のみに使用するから、ファイルのデータを転送したい場合は使わないんですよね?
第一引数を何にすればいいのか。ファイルのデータをどういうフォーマットで転送すればいいのか、
教えてください。
526
名前:
デフォルトの名無しさん
:2005/08/19(金) 14:23:37
詳しくは知らないけど、
クリップボードへのファイルのコピーって、
たんにショートカットをコピーしているだけじゃないのかな。
527
名前:
デフォルトの名無しさん
:2005/08/19(金) 14:43:13
エクスプローラでディレクトリにファイル送るんでしょ?
中身じゃなくてファイル名渡すべきじゃない。
それ以外のことがしたいの?
528
名前:
デフォルトの名無しさん
:2005/08/19(金) 14:49:44
>>527
SetClipboardData(CF_TEXT, ファイル名の文字列を格納したメモリオブジェクト);
↑で出来るってことですか?
529
名前:
デフォルトの名無しさん
:2005/08/19(金) 15:18:36
CF_HDROPじゃないかな
530
名前:
デフォルトの名無しさん
:2005/08/19(金) 15:20:09
クリップボードなんて数年さわってないのであてずっぽうだけど
531
名前:
478
:2005/08/19(金) 15:37:06
>489
レスありがとうございます。
>
>>478
>その方法じゃデスクトップは取れない
>あと、他のウィンドウのメッセージは何を取ろうとしてる?
>例えばWM_LBUTTONDOWNはクライアント領域じゃないと送られてこない
>非クライアント領域だったら別のメッセージが飛んでくる
>あと、リストビューとかもWM_LBUTTONじゃ取れない
具体的にやろうとしてることは、アプリのウインドウからマウスが外れた事を察知させようとしてます。
そこで、とりあずグローバルフックを掛けて流れてくるメッセージで使えそうなものを探そうと思ってました。
また何か情報ありましたよろしくお願いします。
532
名前:
デフォルトの名無しさん
:2005/08/19(金) 15:46:32
ActiveXでやりとりされる情報を解析したいんですが、ツールはありませんでしょうか?
やろうとしてる事はActiveXのメソッドに送られるパラメータや、プロパティーへ読み書きされる値などを見たいと思ってます。
よろしくお願いします。
533
名前:
デフォルトの名無しさん
:2005/08/19(金) 16:15:38
誰も答えてくれなかったのでもっかい質問
コンボボックスでスクロールバーが表示されるようにするにはどうすればいいんですか?
WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST
だと大きさをオーバーした項目はキーボードの↑↓を押してやらなければ見えません
CBS_DISABLENOSCROLLなどのスクロールのスタイルがあるということはスクロールバーって出ますよね?
534
名前:
デフォルトの名無しさん
:2005/08/19(金) 16:42:47
オマエいったいどうやってコンボボックス作ってんだ?
535
名前:
デフォルトの名無しさん
:2005/08/19(金) 16:53:46
>>531
WM_MOUSEMOVEでTrackMounseEvent使って
WM_MOUSELEAVE処理すればいいんじゃね?
536
名前:
デフォルトの名無しさん
:2005/08/19(金) 20:52:16
>>533
WS_VSCROLL
537
名前:
デフォルトの名無しさん
:2005/08/19(金) 20:56:36
>>519
MSDN読め。
> DIB_PAL_COLORS
> カラーテーブルは、現在の論理パレットへの 16 ビットのインデックスの配列です。
538
名前:
デフォルトの名無しさん
:2005/08/20(土) 00:23:02
>>532
同じインタフェイスとGUIDを持ったActiveX作ってハックする。
539
名前:
デフォルトの名無しさん
:2005/08/20(土) 00:45:01
>>532
使ったことないから当てずっぽうだけどOLESPY
540
名前:
デフォルトの名無しさん
:2005/08/20(土) 19:04:05
CardWirthというフリーのゲームがあるのですが、
DirectXは使っておらずエディターを使えば
綺麗なアニメーションのようなものも作れます。
より綺麗にちらつきのないアニメーションを作るには
ダブルバッファリングとかいう事が必要らしいのですが
DirectXを使わないと難しいのでしょうか?
541
名前:
デフォルトの名無しさん
:2005/08/20(土) 19:12:19
> CardWirth ダブルバッファリングに該当するページが見つかりませんでした。
スレ違いじゃね?
ダブルバッファリングってのは一つ一つウィンドウに描画せずに
一度裏で全部描いてからそれを一気にウィンドウに描画するって技術だから
DirectXとは直接関係ない
542
名前:
デフォルトの名無しさん
:2005/08/20(土) 19:46:07
>一度裏で全部描いてからそれを一気にウィンドウに描画するって技術だから
ここは大当たりだけど
>ダブルバッファリングってのは一つ一つウィンドウに描画せずに
ここは大外れ
正しくは、
最初から前面の画面に直接描画せずに、
一旦別の場所で全ての描画処理(合成など)をしてから、
最終的な結果の画像のみを前画面に描画する技法
543
名前:
デフォルトの名無しさん
:2005/08/20(土) 19:49:25
いや、そう言う意図で言ったんだが……ウィンドウって表現はまずかったか。言葉って難しいね。
544
名前:
デフォルトの名無しさん
:2005/08/20(土) 20:00:49
Win32 では致命的な言い間違え
545
名前:
デフォルトの名無しさん
:2005/08/20(土) 20:04:11
言葉が難しいのではない。言葉の使い方が拙いだけだ。
546
名前:
デフォルトの名無しさん
:2005/08/20(土) 20:24:03
いや、解釈の仕方が拙いだけだ
547
名前:
デフォルトの名無しさん
:2005/08/20(土) 20:26:36
( ^ω^)
548
名前:
デフォルトの名無しさん
:2005/08/20(土) 21:07:11
何が違うのかよくわからん
549
名前:
デフォルトの名無しさん
:2005/08/20(土) 21:18:45
>>540
(・ε・)HSPでも触ってくればぁ?
プラグイン開発用のドキュメント見とけばグラフィック周りの実装が分かりやすい仕様になってるから理解するにはいいかと。
550
名前:
デフォルトの名無しさん
:2005/08/20(土) 23:47:48
>>549
馬鹿にしやがって
551
名前:
デフォルトの名無しさん
:2005/08/21(日) 00:02:40
HSPを馬鹿にしやがって?
552
名前:
デフォルトの名無しさん
:2005/08/21(日) 01:09:08
>>551
そうだよ。
553
名前:
デフォルトの名無しさん
:2005/08/21(日) 06:20:05
特定のプログラムのみについてキーボードフックをするプログラムを作っているのですが、
そのために、特定のプログラムが生成されたことを監視したいのですが、
新たなウインドウが生成された場合にシステムからウインドウメッセージを受けとるようなことって出来るのでしょうか?
できるのであれば、ヒントになるキーワードを教えてください。
それとも、10秒おきぐらいに、自らFindWindowで特定のウインドウが起動されていないかチェックする必要があるのでしょうか?
554
名前:
デフォルトの名無しさん
:2005/08/21(日) 06:34:14
いや、君が今やろうとしているキーボードフックで使うのと
同じAPIで出来るんだけど…
フックタイプを隅から隅まで読んで見ると良い。
555
名前:
553
:2005/08/21(日) 06:39:14
>>554
そっか。他のウインドウ生成もフックで監視できるんですね。ありがとうございました。
556
名前:
デフォルトの名無しさん
:2005/08/21(日) 09:27:49
ListCtrlをウィンドウサイズに合うようにMoveWindowをしているのですが、
右下のつまみでサイズ変更をする時に、ListCtrlの描画がちらつきます。
BackGroundをいったん消してから描画しているからなのでしょうが、
そのBackGroundの消去作業をしないようにするにはどうすればいいのでしょうか?
通常のRegisterClassExでウィンドウ登録をする場合だとWM_BKERASEを呼び出して、背景の消去をしないようにできますが、
一般的にコントロールはウィンドウプロシージャを持たないので、それを使えません。
557
名前:
デフォルトの名無しさん
:2005/08/21(日) 09:30:01
サブクラス化
558
名前:
556
:2005/08/21(日) 11:03:45
>>557
さんきゅーーーー!
559
名前:
デフォルトの名無しさん
:2005/08/21(日) 11:45:50
どうやってサブクラス化するのですか?と来ると予想
560
名前:
556
:2005/08/21(日) 11:56:20
もう来まへん来まへん
オナドロとそのサブクラを実装したかっただけです
午後から待ち合わせがあるのでグッバイ
またよろしくね。
561
名前:
556
:2005/08/21(日) 12:00:44
りすドピュ〜してきます
562
名前:
デフォルトの名無しさん
:2005/08/21(日) 13:04:01
>>560
オナドロって言うとなんかやらしい。
563
名前:
ya-su
:2005/08/21(日) 16:49:42
その一文を読みましたが、「インデックスの」という表現が分かりません。
パレット番号のことではないとうことなのか、なんなのかが分かりません。
誰か分かりやすく説明してくれませんか?
>>519
MSDN読め。
> DIB_PAL_COLORS
> カラーテーブルは、現在の論理パレットへの 16 ビットのインデックスの配列です。
564
名前:
デフォルトの名無しさん
:2005/08/21(日) 19:02:10
>>563
まず「パレット番号」という言葉の意味を理解したほうがいい。
565
名前:
デフォルトの名無しさん
:2005/08/21(日) 20:33:53
つうか、仕事なら金払え
566
名前:
デフォルトの名無しさん
:2005/08/21(日) 23:57:21
こんばんは、よろしくお願いします。
メニューのボタンのENABLEDプロパティーを
FALSEに、変更したいのですが、
どうすればいいのでしょうか。
567
名前:
デフォルトの名無しさん
:2005/08/22(月) 00:06:18
EnableMenuItem
ちったぁ自分で調べてみやがれ
568
名前:
デフォルトの名無しさん
:2005/08/22(月) 01:19:36
MSDNめんどいもんな。
あんな糞資料で良質なプログラマーが育成されると思ってるのかぁ?
569
名前:
デフォルトの名無しさん
:2005/08/22(月) 01:52:56
プロパティならAPI関係ないじゃん
570
名前:
デフォルトの名無しさん
:2005/08/22(月) 01:58:11
Win9xとNT系の両方でBIOSの情報(シリアル、バージョン等)を取得するにはどうすればよかとですか?
ヒント下さい
571
名前:
デフォルトの名無しさん
:2005/08/22(月) 03:08:58
確かにMSDNの資料はひどい。
わからせよう、という気がない。
まあ、だから本が売れるわけだが。
572
名前:
デフォルトの名無しさん
:2005/08/22(月) 03:54:08
VC++とAPIだけでゲームを作ろうと思っています。
windowsゲームプログラミングを読み終わったのですが、
まだゲームを作るための知識は不十分に感じます。
そこで何か本を買おうと思っているんですが、何がオススメでしょうか?
今の所、プログラミングWindowsあたりにしようと思っています。
この本についての意見もお願いします。
573
名前:
デフォルトの名無しさん
:2005/08/22(月) 04:17:22
>>572
明らかにスレ違い
574
名前:
デフォルトの名無しさん
:2005/08/22(月) 07:31:05
>>572
ゲ製作技術
http://pc8.2ch.net/gamedev/
575
名前:
デフォルトの名無しさん
:2005/08/22(月) 09:39:42
列の幅を変更するListView_SetColumnWidthがありますが、
行の高さを変更するListView_???はありますか?
576
名前:
デフォルトの名無しさん
:2005/08/22(月) 12:10:19
spyが使いたくて、
>>4
のマイクロソフトのところから
Platform SDKをインストールしたんですが、spyがありませんでした。
Platform SDKにはspyはないのでしょうか?
当方、VB6の評価版でプログラムつくっているのでMSDNもありません。
c++かVisual Studio買わないとだめでしょうか?
577
名前:
デフォルトの名無しさん
:2005/08/22(月) 12:13:17
>>576
PSDKにはspyあったと思うけどなぁ。
サンプルソースをもう一度探してみ。
578
名前:
デフォルトの名無しさん
:2005/08/22(月) 12:14:34
ありません
579
名前:
デフォルトの名無しさん
:2005/08/22(月) 12:15:08
しまった。
>578
は
>575
宛てでw
580
名前:
デフォルトの名無しさん
:2005/08/22(月) 13:11:41
任意のウィンドウに自分がクリックされたと思わせる方法ありますか?
SetForegroundWindow(hWnd);
SetFocus(hWnd);
SetCursorPos(mousex,mousey);
mousepos=mousex|(mousey<<16);
SendMessage(hWnd,WM_LBUTTONDOWN,mousepos);
SendMessage(hWnd,WM_LBUTTONUP,mousepos);
としてもクリックされたと認識してくれないので
お願いします
581
名前:
デフォルトの名無しさん
:2005/08/22(月) 13:21:42
>>580
私はこんなことやってた。
::PostMessage(m_hBtns[btnNo], WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(0, 0));
Sleep(1);
::PostMessage(m_hBtns[btnNo], WM_LBUTTONUP, 0, MAKELONG(0, 0));
582
名前:
デフォルトの名無しさん
:2005/08/22(月) 13:24:25
>>576
binディレクトリ内あたりにあるはずだけどなぁ‥‥まあ使いやすい物じゃないけどな。
って今入ってるPSDK見たら見あたらないorz
うちはWinspectorってフリーソフト使ってるけど
583
名前:
575
:2005/08/22(月) 13:34:50
e?e???
ListViewって、行の高さを変えられないんですか?
・・・。
使えない。
584
名前:
デフォルトの名無しさん
:2005/08/22(月) 13:37:59
というかListViewの使い所じゃないってだけだろ
585
名前:
デフォルトの名無しさん
:2005/08/22(月) 13:44:48
>>583
変えられます。
586
名前:
580
:2005/08/22(月) 13:46:41
>>581
あー認識してくれないです…
こういうのも試してみたんですけど
SendMessage(hWnd,WM_NCLBUTTONDOWN,(WPARAM)HTCLIENT,(LPARAM)(x|(y<<16)));
Sleep(1);
SendMessage(hWnd,WM_NCLBUTTONUP,(WPARAM)HTCLIENT,(LPARAM)(x|(y<<16)));
対象ウィンドウがdelphiだとだめとかあるんでしょうか
587
名前:
デフォルトの名無しさん
:2005/08/22(月) 13:49:19
>>586
実際にマウスをクリックしたときに、どんなメッセージが流れるか見てみたら?
>581
もそれであたりをつけたし。
588
名前:
デフォルトの名無しさん
:2005/08/22(月) 14:03:40
タスクバーのツールチップを強制的にバルーンにしてみようと思って
Shell_TrayWndを親にもつtooltips_class32を探し出して、
そのウインドウスタイルにTTS_BALLOONをSetWindowLongAしました。
(WS_BORDERも消しました。)
バルーンにはなるんですがなぜか場所がかなり上によってしまいます。
これを修正する方法を御存知の方いらっしゃいませんか?
対象OSはXPでVisualStyleが適用されています。
589
名前:
572
:2005/08/22(月) 15:03:29
>>573
>>574
ゲーム製作のためだけに読むには適していないのか
などのAPI関連の書籍についての意見を伺いたかったのですが、
目的がゲームなだけでスレ違いでしょうか?
APIに関してはゲ製作板よりはこちらの方が詳しいと思ったのですが。
590
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:11:14
本について質問するのはどうだろう。
それこそ、Advanced Windows嫁、という決まり文句になってしまうけど。
591
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:14:20
>>580
使ったこと無いけどSendInputはどうだろうか?
592
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:15:18
>>589
「VC++とAPIでゲームを作りたい」
こんな曖昧な情報でどう判断しろと。
まあ、マインスイーパーとかならどうにでもなるが‥‥
593
名前:
580
:2005/08/22(月) 15:22:53
>>591
おー、こんなAPIがあったんですね!!!!!
あれ、、、MSDNにINPUT構造体の説明がない…
594
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:27:09
MSDNの検索はホント引っかからなくなったな。
ttp://www.google.co.jp/search?hl=ja&c2coff=1&q=MSDN+INPUT+Structure&lr=
595
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:28:28
>>580
あるいはmouse_eventを使うとか。
596
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:29:39
>>593
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputstructures/input.asp
あるじゃねーか
597
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:30:34
>>593
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/sendinput.asp
まず目次を同期させて、そのカテゴリのReference>Structuresに関連構造体の情報はある。
日本語版の場合は構造体の説明ページそのものがないから投げ捨てろ。
598
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:30:57
>>595
mouse_eventがmousou_eventに見えなくもない。
599
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:32:57
>>597
つーかSendInputの引数の説明のところにINPUTへのリンク張ってあるじゃん。
600
名前:
デフォルトの名無しさん
:2005/08/22(月) 15:35:31
しかしなんでmouse_eventとkeybd_eventはAPIの命名規則から外れてるんだろうな。
601
名前:
597
:2005/08/22(月) 15:36:14
>>599
( ノ∀`)アチャー
PlatformSDKとかだとParametersの説明にもリンク張られてるからWeb版の下の関連項目に気付かなかったわ
ついでにURLがSendInputだし‥‥
||
|| バッ
∧||∧
(∩ ⌒ヽノ
\ _⊃ アラヨット
∪ Σ
≡| ̄ ̄ ̄ ̄|
602
名前:
580
:2005/08/22(月) 15:43:36
>>594-601
みなさんありがとうございました できました!!
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,NULL);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,NULL);
SendInputのほう試してみました
同じ悩みを抱えてたひとどうぞ
static const DWORD click[] = {
INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTDOWN, 0, 0,
INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTUP, 0, 0,
};
SendInput(2,click,sizeof(INPUT));
603
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:11:15
解決手段の見当がつかず困っています。。
USBのキャプチャユニットとそれに接続するCCDカメラがあります。
USBキャプチャにはドライバとキャプチャソフトが付属しており、
それを使うとGUIから任意のタイミングで画像を取り込むことがで
きます。
今回はCCDカメラに映った映像をコマンドラインから操作して画像
を取り込む必要があります。
※イメージとしてはCygwinなどでコマンドを打てばそのタイミングで
画像をフォルダに保存するといったようなことをしたい。
要はGUIソフトの機能をCUIで実現したいのですが、どのような方法
で取り組めばよいのでしょうか。
環境はWin2000で実現するのに使う言語はなんでもいいです。
604
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:11:55
最近WIN32APIを学び始めました。
マウス操作をmouse_event関数で扱いたいのですが、
任意の場所のマウス座標を取得して、他の場所にマウスを移動させても
キーを押せば元に戻ってくるような、プログラムはどうすればできるんでしょうか?
座標取得にGetCursorPosを使うんでしょうか?座標の値が違うんですが・・・
605
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:14:20
>>603
DirectShowとかでやるんじゃないかなあ
606
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:17:48
>>604
任意の場所のマウス座標を取得して、他の場所にマウスを移動させても
キーを押せば元に戻ってくるようにプログラムする。
>座標の値が違うんですが・・・
どう違うんだ?
607
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:26:05
>>606
すみません。
SetCursorPosを使ったら解決しました。
mouse_eventが使いたかったのは左右クリックの機能があったからですが、
dx と dy の各パラメータが 0〜65,535と書いてあったし、 DWORDとintでは型が合わん・・・と思ったら
機能を分けて使えばよかったんですね。
失礼しました。
608
名前:
603
:2005/08/22(月) 17:26:33
>>605
確かにキャプチャソフトはDirectXを入れないと動きませんでした。
とりあえずWin32APIプログラミングで実現するというアプローチ自体は
合っているのですね。
609
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:30:21
>>606
違うだろ
GetCursorPosで手に入るのは、0 ≦ x ≦ 現在の画面サイズ の値だけど
mouse_eventで使うのは 0 ≦ x ≦ 65535 だ
画面サイズの設定が800*600だとすれば、GetCursorPosでは左上(0,0)、右下(799,599)だが
mouse_eventは常に左上(0,0)、右下(65535,65535)だ
画面が長方形なのに対して、mouse_eventのは正方形なんだよ
610
名前:
デフォルトの名無しさん
:2005/08/22(月) 17:56:52
>>607
画面の解像度が1024*768なので
xx = 65535 / 1024;
yy = 65535 / 768;
として、GetCursorPos座標を掛けたら(x * zz, y * yy)
mouse_eventで無理やりですができました。
自分のパソコンでしか使わないプログラムなので
今は何とか困りませんが・・・・
611
名前:
デフォルトの名無しさん
:2005/08/22(月) 18:28:25
MCIを使用しようと思いwinmm.libにリンクをして、ビルドしたこところ
以下のエラーが出てしまいビルドできませんでした。
error C3861: 'mciSendString': 識別子は、引数依存の照合を使用しても見つかりません。
原因がまったく分かりません。
偉い人教えてください。お願いしますm(_ _)m
OS:WindowsXP
エディタ:VC++.NET
612
名前:
611
:2005/08/22(月) 18:52:26
すいません、自己解決できました。
613
名前:
デフォルトの名無しさん
:2005/08/22(月) 18:52:36
>>610
GetSystemMetrics(SM_CXSCREEN)とかつかえばいいんでない?
614
名前:
デフォルトの名無しさん
:2005/08/22(月) 19:32:04
>>609
純粋な疑問だがマルチディスプレイだとどうなるのかな。
615
名前:
デフォルトの名無しさん
:2005/08/22(月) 22:19:02
>>566
>>567
さんありがとうございます。
結構探し回ったつもりなんですが、すみませんでした。
616
名前:
デフォルトの名無しさん
:2005/08/22(月) 23:37:16
case WM_CREATE:
mop.dwCallback = (DWORD)hWnd;
mop.lpstrDeviceType = NULL;
mop.lpstrElementName = "bgm0006.mp3";
iErr = mciSendCommand(
NULL, MCI_OPEN, MCI_OPEN_ELEMENT,
(DWORD)&mop
);
if (iErr) {
mciGetErrorString(iErr, strErr, 1024);
MessageBox(hWnd, strErr, NULL, MB_OK);
return -1;
}
mciSendCommand(mop.wDeviceID,MCI_PLAY, MCI_NOTIFY, (DWORD)&mpp);
break;
case MM_MCINOTIFY:
MessageBox(NULL,"ポスト",NULL,MB_OK);
mciSendCommand(mop.wDeviceID, MCI_PLAY, MCI_NOTIFY, (DWORD)&mpp);
break;
case WM_DESTROY:
mciSendCommand(mop.wDeviceID, MCI_CLOSE, NULL, NULL);
PostQuitMessage(0);
break;
上記のソースでmp3のループ再生をしようとしたのですが。
MM_MCINOTIFYメッセージがmciSendCommand(mop.wDeviceID, MCI_PLAY, MCI_NOTIFY, (DWORD)&mpp);でポストされません。
どなたか教えしえてください。お願いします。
617
名前:
はる
:2005/08/22(月) 23:57:50
アプリを起動していて、Windows を終了させた場合、アプリに届くメッセージは何かあるのでしょうか?
618
名前:
デフォルトの名無しさん
:2005/08/23(火) 00:02:43
>>617
ある
619
名前:
はる
:2005/08/23(火) 00:19:50
何か教えてください。お願いします。
620
名前:
デフォルトの名無しさん
:2005/08/23(火) 00:26:41
>>619
おっぱい! おっぱい!
おっぱい おっぱい! おっぱい!
おっぱい! ∩ ∩ ノ) おっぱい!
おっぱい! 川 ∩ 川彡'三つ おっぱい!
おっぱい! ⊂ミ∩∧η∧∩彡⊃ おっぱい!
おっぱい!⊂三ミ (,,・Д・)彡三彡三⊃ おっぱい!
おっぱい! ⊂彡川⊂彡川ミ⊃ おっぱい!
おっぱい!⊂彡川∪⊃ U川彡⊃ おっぱい!
おっぱい! (ノ ∪ 川 ∪ミ) おっぱい!
おっぱい! ∪ おっぱい!
おっぱい! おっぱい! おっぱい!
おっぱい! おっぱい!
621
名前:
デフォルトの名無しさん
:2005/08/23(火) 00:28:15
>>617
ttp://www.google.com/search?hl=ja&lr=&ie=UTF-8&oe=UTF-8&q=Windows+%E7%B5%82%E4%BA%86%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8&num=50
622
名前:
はる
:2005/08/23(火) 00:37:10
検索結果が多すぎて分かりません。
私でも分かるようなメッセージを教えてください。
623
名前:
デフォルトの名無しさん
:2005/08/23(火) 00:38:54
>>621
>Windowsが終了するときのメッセージを取得
そのまんまのがある雀
624
名前:
デフォルトの名無しさん
:2005/08/23(火) 06:33:29
>>622
オマエでも分かるようなメッセージを自分で探し出せ
625
名前:
デフォルトの名無しさん
:2005/08/23(火) 07:32:03
なんと言えばいいかよくわかりませんが、独自の仮想ドライブを追加したいです。
たとえば zipファイルを Xドライブにマウントして、あたかも普通のドライブであるかのように振舞いたい、ということです。
zipファイルをマウントするというのはあくまで例ですが、ようするに仮想ドライブへのアクセスを自分でハンドリングしたいという
ことになるのでしょうか。
ドライブが無理なら、ディレクトリに見えるのでもいいです。
これを実現するために必要なAPIや、あるいは調査をするためのキーワードなどを教えてください。
これができたらやりたいことはいっぱいあるのですが、たとえばCD(ROM)に書き込みができるように振舞う、なんてのがやりたいです。
書き込み可能に見えるドライブX を作り、最初ドライブX は CDと同内容一が見え、このドライブに対して書き込みが発生すると
その差分をHDDの適当なディレクトリに作って行き、次にドライブX を読むときには差分の方を優先して見せる、といった感じです。
626
名前:
デフォルトの名無しさん
:2005/08/23(火) 07:35:15
ドライバ書け
627
名前:
デフォルトの名無しさん
:2005/08/23(火) 07:49:30
>>625
ソース付きの実例。
http://chitchat.at.infoseek.co.jp/vmware/vdkj.html
628
名前:
625
:2005/08/23(火) 08:36:18
>>627
ありがとう!
とりあえずそれが参考にしたという filedisk を落としてきた。
ソースが短くて読むのにはいいのですが、make の仕方がわかんないので困ったものです。
でも、ソース中に含まれるキーワードをぐぐると、結構それっぽいものがヒットするので、いつの日か何か作れることでしょう。
また、
>>627
のリンクを少し見ただけでも、ディスクドライバとファイルシステムドライバがあるってことがわかりました。
自分のやりたいことは、きっとファイルシステムドライバも関連してくるんだろうと思います。
629
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:19:04
マルチスレッドで、共通変数への同時アクセスを防ごうとしてますが、
クリティカルセッションではさむ(サンドイッチみたいな)かたちでよろしいのでしょうか?
よろよろ。
630
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:27:36
>>629
それでいい
631
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:28:08
>>629
どうした、具合でも悪いのか?睡眠と食事はちゃんと取れよ。
632
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:31:10
>>629
クリティカルセクションな
633
名前:
629
:2005/08/23(火) 17:33:50
おぉ、悩める同士。
返事してくれてサンクス。
またよろしくなぁ。
おらはらへったぞ。
634
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:42:39
悟空かよ
635
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:44:21
らへったぞ、って何?
636
名前:
デフォルトの名無しさん
:2005/08/23(火) 17:45:54
ああ「腹減ったぞ」か。
637
名前:
デフォルトの名無しさん
:2005/08/23(火) 19:08:21
Interlocked〜() もたまには使ってあげてくださいね♪
638
名前:
デフォルトの名無しさん
:2005/08/23(火) 19:35:14
winsockってwin32APIに含まれますか?
639
名前:
デフォルトの名無しさん
:2005/08/23(火) 19:43:30
含まれるんじゃね?
640
名前:
デフォルトの名無しさん
:2005/08/23(火) 20:15:46
ふと疑問に思ったんだが、zipファイルをディレクトリにマウントするシェルエクステンションって、
インターフェースは公開されてなかったか?
ぐぐってもそれらしいのが見つからないんだが・・・
641
名前:
デフォルトの名無しさん
:2005/08/23(火) 20:18:33
cabviewのソースならある
642
名前:
デフォルトの名無しさん
:2005/08/23(火) 20:25:09
GetOpenFileName()を用いて複数ファイル名を取得したいのですが
OPENFILENAME の lpstrFileに複数ファイル情報を受け取るために
必要なバッファサイズを事前に知るにはどうしたらいいのでしょうか?
643
名前:
デフォルトの名無しさん
:2005/08/23(火) 21:19:36
>>642
まずはユーザーがいくつのファイルを選択するか
事前に知る方法を考えよう。
644
名前:
デフォルトの名無しさん
:2005/08/24(水) 01:22:47
ゲーム製作のために今APIを勉強しているのですが
大学で情報系を専攻しているのでAPIを本格的に勉強すべきか迷っています。
そこで質問なんですが、APIを勉強する利点ってどんな事があるんでしょか?
ググッてみてもAPIの勉強サイトは出てくるのですが、
APIを利用してできる事などの情報がなかなか見つかりません。
APIを利用してできる事を具体的に教えてください。
本当に初心者の質問で申し訳ありません。
645
名前:
デフォルトの名無しさん
:2005/08/24(水) 01:23:54
なんかすごい本末転倒な感じがするな
646
名前:
デフォルトの名無しさん
:2005/08/24(水) 01:30:35
感じじゃなくて、そのものズバリだべし
647
名前:
デフォルトの名無しさん
:2005/08/24(水) 01:33:00
窓用のプログラムを作りたい場合、
選択幅は Win32API だけじゃない事を伝えておこう。
648
名前:
デフォルトの名無しさん
:2005/08/24(水) 01:43:01
>>644
興味があるのに自分で試しもせずにぐーぐるやら人の意見をあてにしてるようじゃ
勉強する必要ないんじゃないかな。
仮に勉強を始めたとしても本格的にやってるつもりになるだけで終わると予想。
649
名前:
デフォルトの名無しさん
:2005/08/24(水) 01:46:03
>>644
俺も情報系の大学行ってるが、1回生って事もあって内容が物足りないので
純粋に新しい事を覚えたいって理由でCやらWin32APIやらをやってる。
やりたきゃやる、やりたくないならやらない。それで十分だろ>APIをすべきかどうか
覚えることの利点なんてやってりゃ分かると思ってるが
650
名前:
デフォルトの名無しさん
:2005/08/24(水) 02:00:50
習うより慣れろ。
651
名前:
デフォルトの名無しさん
:2005/08/24(水) 02:44:33
>>648
何のために勉強するかっていう目的も持たずに
気分次第で手探りにやる程、向上心は低くありません。
自由な時間は限られているので自分のためになる事を
やろうと思って質問したつもりだったんですが、すいません。
もう興味本位に時間を潰せるほど責任感のない年齢じゃないんで。
652
名前:
デフォルトの名無しさん
:2005/08/24(水) 02:49:55
ていうか、
>ゲーム製作のために今APIを勉強しているのですが
とか言ってる割にWin32APIが何を指すのかすら理解して無くない?
653
名前:
デフォルトの名無しさん
:2005/08/24(水) 02:52:59
そんな年齢なのに
>>644
の文章なんだ…
654
名前:
デフォルトの名無しさん
:2005/08/24(水) 03:02:47
ゲーム作りならHSPが楽とかたまに聞くからそっちにしたら?
俺はやったことどころか興味すらないからどんな言語かも知らないけど
655
名前:
デフォルトの名無しさん
:2005/08/24(水) 03:26:22
俺的には
>大学で情報系を専攻しているのでAPIを本格的に勉強すべきか迷っています。
が意味不明。大学で教えてくれるのならあえて勉強する必要など
ないと思っているのか?だとしたら向上心低いな。
つーか興味本位に時間潰せないとか言うほど心的余裕のない奴には無理だと思う。
素直にやめとけ。それでもやりたいというのならまずはちゃんとした文章書いて来い。
656
名前:
デフォルトの名無しさん
:2005/08/24(水) 03:27:42
きっと
>>644
の中ではAPIとは
Action game Programing Interface
の略なんだな。
657
名前:
デフォルトの名無しさん
:2005/08/24(水) 03:38:20
>>644
ゲーム製作ならDirectXSDKの勉強の方が直接的だろうね。
ゲーム以外のWindowsアプリを(.NETFrameWord使わず)作る必要があるなら
まあ、Win32APIの勉強はまず必要になってくるが、その必要に応じてその都度おぼえていけばいいんじゃないか?
658
名前:
デフォルトの名無しさん
:2005/08/24(水) 03:40:24
本当はまだ大学初年度でまだAPIどころか基本的な言語の勉強すらきちんとしてないのに、
APIについて少しだけ勉強してそれにどんな利点があるのか調べようと努力したんだけどわからなかったと
適当にアピールしとけば誰か答えてくれると思ったんじゃない?
んで、返答が
>>645-651
だったからちょっと大人ぶった発言をしてみた若者だと予想w
659
名前:
デフォルトの名無しさん
:2005/08/24(水) 04:02:30
APIなしで組みます
int main(){
return 0;
}
660
名前:
デフォルトの名無しさん
:2005/08/24(水) 04:43:17
>>640
それ知りたい!
だれか知ってる人いない?
661
名前:
デフォルトの名無しさん
:2005/08/24(水) 06:03:08
巨大ファイルの部分的な削除挿入を
クラスタがチェーンしてることを利用して高速化する方法ってありますか?
662
名前:
デフォルトの名無しさん
:2005/08/24(水) 06:13:25
セクタ単位のアクセスはあるから可能だろうけど、
削除挿入したい情報が物理境界と一致することにどんな期待が持てるんだ?
俺だったらオンディスクでリスト構造やポインタ配列を作るだろうな、そういうことを考えているときは
663
名前:
デフォルトの名無しさん
:2005/08/24(水) 07:00:27
>>660
>>641
664
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:02:32
file://***、
http://***
、
ftp://****
などのファイル名?(リクエスト?)を一元的に読み込めるような仕組みってありませんでしょうか?
よろしくおねがいします。
665
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:02:46
大学でAPIなぞわざわざ教えるわけないだろ。
英語の授業でいちいち単語の意味を教えないのと同じだ。
リファレンスで引っ張ってくるだけの単純作業を大げさに「勉強」と呼ぶ時点で終わってる。
666
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:08:10
>>664
求むエスパー
667
名前:
664
:2005/08/24(水) 12:10:09
すいません、説明不足と思ったのでもう少し。
ブラウザのアドレス入力部って、file://***、
http://***
、
ftp://****
などプロトコール問わず一元的に読み込み事が可能じゃないですか、
そんな感じで、たとえば次のような感じで
FILE *fp = fopen( "
http://www.yahoo.co.jp"
, "r" ) ;
的な事が出来ればなぁ〜と考えてます。
668
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:20:45
>>667
それもみんなWindowsでは関連付けでやっているからShellExecuteが使える。
ShellExecute(0, 0, TEXT("
http://www.google.co.jp"
), 0, 0, SW_SHOW);
669
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:21:38
と書いたけどこれはブラウザで開くことになるから664が望んでいるのとは違うか?
670
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:24:36
>>667
IEコンポーネントはどーよ
671
名前:
デフォルトの名無しさん
:2005/08/24(水) 12:35:58
URLDownloadToCacheFileかURLDownloadToFileかな?
672
名前:
664
:2005/08/24(水) 12:36:05
668さん、670さんレスありがとうございます。
>668
さん
file://***、
http://***
、
ftp://****
などから取得出来るデータをファイルとして扱いと考えてます。
>670
>IEコンポーネントはどーよ
とりあえず「wininet.dll」ってのを今調べてみてます。
673
名前:
デフォルトの名無しさん
:2005/08/24(水) 13:55:14
>>IEコンポーネントはどーよ
>とりあえず「wininet.dll」ってのを今調べてみてます。
話がかみ合ってないのに正しい答えを見つけてるのは何故だろう
674
名前:
デフォルトの名無しさん
:2005/08/24(水) 14:03:35
ESPだな
675
名前:
デフォルトの名無しさん
:2005/08/24(水) 16:54:20
>>665
中学校からやり直しておいで
676
名前:
デフォルトの名無しさん
:2005/08/24(水) 17:48:04
>>673-674
ワロタ
677
名前:
デフォルトの名無しさん
:2005/08/24(水) 19:36:44
>>651
率直に言って、興味本位で動けないような奴はろくな技術者にはなれない。
業務系PGならそれでもなんとかなるが(周囲に大迷惑かけるけどな)、
ゲーム関係ならなおさら「興味本位」は重要だぞ。
>>673
才能って奴じゃないか。
少なくとも
>>644
にはなさそうなものを持ってそうだ。
678
名前:
デフォルトの名無しさん
:2005/08/24(水) 20:54:37
おまえらもAPI勉強しとけよ。APIを
679
名前:
デフォルトの名無しさん
:2005/08/24(水) 21:38:25
MFCよりかは、APIのほうが10000倍いいぞ。
ほんとに。
680
名前:
デフォルトの名無しさん
:2005/08/24(水) 21:44:06
Win系全てに最初から標準で入っててくれりゃあ別にMFC使うんでもいいんだけどな
.NETは今んとこ論外、重すぎ
681
名前:
デフォルトの名無しさん
:2005/08/24(水) 21:45:24
>>679
Win32APIはVisualComponentLibraryの何倍いいですか?
682
名前:
デフォルトの名無しさん
:2005/08/24(水) 22:26:28
>>681
VCLはよく知らないが、使いやすくなったMFCみたいなもんだろ?
それならVCLでできることは全てWin32APIで出来るし、VCLじゃ出来ないこともできる
その代わりややこしい
683
名前:
デフォルトの名無しさん
:2005/08/24(水) 22:41:30
そこでATL/WTLですよ。
684
名前:
デフォルトの名無しさん
:2005/08/24(水) 22:47:52
雑談はま板でドゾー
685
名前:
デフォルトの名無しさん
:2005/08/24(水) 23:07:32
Windowsでできることは全てAPI使ってできる
686
名前:
デフォルトの名無しさん
:2005/08/24(水) 23:17:12
ATLはWin32APIのラッパとは言っても
そもそもCOMコンポの開発労力を削減するために設計されたもんだから、
Win32APIを網羅してるわけじゃないでしょ。
まあ、俺は結構好きなんだが。
687
名前:
デフォルトの名無しさん
:2005/08/25(木) 00:00:55
API雑談スレみたいなのあった気がしたので、発掘してみた。
http://pc8.2ch.net/test/read.cgi/tech/1049790146/
質問という趣旨からズレはじめた(発展しそうな)ネタはこっちでやらないか。
移動した途端とぎれそうだが。
688
名前:
デフォルトの名無しさん
:2005/08/25(木) 00:23:04
>>687
おっ。俺はそのスレの339。
盛り上がってくれるとうれしい。
689
名前:
デフォルトの名無しさん
:2005/08/25(木) 00:29:44
なんだその自己主張
690
名前:
デフォルトの名無しさん
:2005/08/25(木) 02:24:09
>>686
ATLとWTLで、GUI周りのAPIはほとんど面倒見てくれるが。
正直、あとはAPI直に使ってもいいし、自分でラッパ書いてもいいんじゃないかと。
GUIだけは面倒だから自前で書きたくない。
691
名前:
デフォルトの名無しさん
:2005/08/25(木) 06:49:18
高級言語でできることはすべてアセンブラでできるみたいな。
いくら理論上は可能でもアセンブラでオブジェクト指向のプログラムとか
組みたくない
692
名前:
デフォルトの名無しさん
:2005/08/25(木) 06:50:17
そういう高度な議論は他所でやれや
693
名前:
デフォルトの名無しさん
:2005/08/25(木) 12:19:38
アセンブラからAPI呼び出しか、おめでてーな
694
名前:
デフォルトの名無しさん
:2005/08/25(木) 13:05:51
↑ここ数レスで一番の大馬鹿
695
名前:
デフォルトの名無しさん
:2005/08/25(木) 13:12:05
俺はGUIもAPIで書いてる。
というより手元にVCLやMFCがないだけだが。
それ以外に直接API使わずにGUI書く方法があったとしても難しそうだし。
696
名前:
デフォルトの名無しさん
:2005/08/25(木) 17:40:38
>>694
御意
697
名前:
デフォルトの名無しさん
:2005/08/25(木) 22:07:54
>>695
今のところ俺も。
698
名前:
デフォルトの名無しさん
:2005/08/25(木) 22:11:44
そんなおまいらにはWTLを。
と言いたいがそんなおまいらにはATLがないんだろうな。
699
名前:
デフォルトの名無しさん
:2005/08/25(木) 22:21:19
はいはい
700
名前:
デフォルトの名無しさん
:2005/08/25(木) 22:29:56
軽くタイムリーな所で
ttp://www.codeguru.com/Cpp/controls/menu/alternativemenu/article.php/c189/
この独自メニューを使わせてもらおうと思ったのですが、
日本語の項目をAppendすると文字化けしてしまいます
もちろん日本語フォントを指定済みです
原因が分かる方、教えて頂けないでしょうか
701
名前:
デフォルトの名無しさん
:2005/08/25(木) 22:31:16
それのどこがWinAPIと関係するのか説明できたら教えてやるよ。
702
名前:
デフォルトの名無しさん
:2005/08/25(木) 23:08:54
ANSI_CHARSETm9(^Д^)プギャー
703
名前:
700
:2005/08/25(木) 23:14:03
>>702
ここでしたか!ありがとうございます、無事動作しました
WinAPIと関係あって良かったですw
704
名前:
デフォルトの名無しさん
:2005/08/25(木) 23:19:08
今日のMVPは701か
705
名前:
デフォルトの名無しさん
:2005/08/26(金) 11:08:44
http://yokohama.cool.ne.jp/chokuto/urawaza/api/CreateWindowEx.html
CreateWindowをするさいにクラス名を渡しますが、
そのクラス名を取得したい場合、どうすればいいんでしょうか。
GetWindowLongで取得できますか?
706
名前:
705
:2005/08/26(金) 11:13:24
かいけつ
707
名前:
デフォルトの名無しさん
:2005/08/26(金) 11:47:47
>>706
きくまえにえむえすでぃーえぬ(えいごばん)よめ
708
名前:
デフォルトの名無しさん
:2005/08/26(金) 17:10:30
WinMainとプロシージャのWM_CREATEってどっちが先に実行されますか?
709
名前:
デフォルトの名無しさん
:2005/08/26(金) 17:12:19
WinMainが走らないとプロシージャも登録できんだろうが
710
名前:
デフォルトの名無しさん
:2005/08/26(金) 17:42:04
>>708
WM_CREATEはCreateWindow(Ex)の中の人が呼ぶ。
711
名前:
デフォルトの名無しさん
:2005/08/26(金) 17:58:21
>709-710
レスありがとうございます
712
名前:
デフォルトの名無しさん
:2005/08/26(金) 19:01:27
チャットバーみたいな文字列入力できる物ってどうやって作るんですか?
713
名前:
デフォルトの名無しさん
:2005/08/26(金) 19:13:10
CreateWindow
714
名前:
デフォルトの名無しさん
:2005/08/26(金) 19:47:05
教えてください。
PathAddBackslashA などの ANSI 版 Path API は、
マルチバイト文字(CP932)を含むパスを
何の問題も無く利用することが出来ますでしょうか?
715
名前:
デフォルトの名無しさん
:2005/08/26(金) 20:09:25
全く問題なし。
Windowsはひらがなや漢字をフォルダ名に使えるし。
716
名前:
デフォルトの名無しさん
:2005/08/26(金) 20:10:00
ファイル名もだが
717
名前:
デフォルトの名無しさん
:2005/08/26(金) 20:11:40
MultiByteToWideChar等での
CP_OEMCPとCP_ACPの違いを教えてください。
ANSIコードページとOEMコードページということですが、
調べてもいまいちよく理解できません。
718
名前:
デフォルトの名無しさん
:2005/08/26(金) 20:15:40
そもそも日本語Winの基本文字コードが2バイトなのに、
マルチバイト文字が扱えなかったら糞だろう
719
名前:
デフォルトの名無しさん
:2005/08/26(金) 20:21:57
↑ここ数レスで一番の大馬鹿
720
名前:
デフォルトの名無しさん
:2005/08/26(金) 20:57:46
>>719
自虐しちゃダメよ?
721
名前:
デフォルトの名無しさん
:2005/08/26(金) 21:13:03
質問です。
XPビジュアルスタイルを適用してCEditを使用しています。
そこで日本語を入力して再変換を行うと文字が化けます。
・ATOCKでは発生しません。
・コンテキストメニューから再変換を選択しても発生しません。
_UNICODEを宣言しないで回避する方法ってありますか?
722
名前:
デフォルトの名無しさん
:2005/08/26(金) 21:29:44
>>721
WindowsのAPIにCEditなんてないお(;^ω^)
723
名前:
デフォルトの名無しさん
:2005/08/26(金) 21:32:44
MFCスレへドウゾ
724
名前:
721
:2005/08/26(金) 21:34:05
正直すまんかった…
;y=-( ゚д゚)・∵ターン
725
名前:
MathC
◆Ho9erQuSOQ
:2005/08/26(金) 23:40:32
やっと今日C言語の学習が一通り終わったのでWindowsプログラミングをやりたいと思っているのですが、
なにぶん、貧乏学生なもので
>>1-4
に書かれている書籍はとてもじゃありませんが手が出せそうにありません。
初めのほうに書いてある「猫でもわかるWindowsプログラミング」というサイトと「Win32 API入門」を訪れたのですが、
後者のほうは次から次へと専門用語が出てきて困っています。
前者のサイトから学びたいと思うのですが理論的な解説なしに学ぶのは自殺行為でしょうか?
726
名前:
デフォルトの名無しさん
:2005/08/26(金) 23:43:12
まずは動くものをどんどん作って、雰囲気をつかむのがいいと思う。
雰囲気がつかめれば理論(?)も理解しやすい。
727
名前:
デフォルトの名無しさん
:2005/08/26(金) 23:48:18
貧乏学生なら貧乏学生なりに倹約して金貯めて買え
どうでもいいことに金使わんと、必要なものにまず使えよ
728
名前:
デフォルトの名無しさん
:2005/08/26(金) 23:50:58
本を買わない学生に未来はない
729
名前:
デフォルトの名無しさん
:2005/08/26(金) 23:53:09
わからない単語があれば調べればいいじゃない
730
名前:
デフォルトの名無しさん
:2005/08/26(金) 23:53:59
>>725
Win32 API入門も専門用語の羅列は 1. Win32 APIとは だけだと思うけど。
731
名前:
MathC
◆Ho9erQuSOQ
:2005/08/27(土) 00:04:15
>>726-730
沢山のレスありがとうございます。
Advanced Windows は切り詰めながら買いたいと思います。
それまでは「猫でもわかる.....」で頑張ります。
732
名前:
デフォルトの名無しさん
:2005/08/27(土) 00:29:37
>>731
Advanced Windowsは、調べても調べても手元の資料には答えが
見つからなくなったときでいいとオモタ。
733
名前:
デフォルトの名無しさん
:2005/08/27(土) 00:29:56
>>731
俺もC終わってWin32APIの勉強してるが、推薦図書スレの
VisualC++の1読んでるがわかりやすいと思った
734
名前:
デフォルトの名無しさん
:2005/08/27(土) 00:54:03
>>728
5千オーバーの本を何冊も買うのは学生には辛い
735
名前:
デフォルトの名無しさん
:2005/08/27(土) 01:03:14
買ってたオレは何だったんだろうな
736
名前:
デフォルトの名無しさん
:2005/08/27(土) 01:28:59
>>725
とりあえずPlatformSDK入れてサンプル「Generic」のソース読んで理解。
それができたら改造してみる。
このあたりから初めてみれ。
737
名前:
デフォルトの名無しさん
:2005/08/27(土) 01:52:11
>>733
その「C終わって」っつのはいったい何だ。
738
名前:
デフォルトの名無しさん
:2005/08/27(土) 02:02:56
少しワロタ
739
名前:
135
:2005/08/27(土) 05:56:14
>>136
コンソールアプリは確かにそれでいいんですが・・・
>>137
Win98では、system("echo \a")でちゃんとDOS窓が出現してビープ音が出ます。
CreateProcessA(NULL, "command.com /cecho \a", &sa, &sa, ...);
などとしても鳴ります。
私は、単なるビープ音だけではなく、例えばユーザー補助でマウスキーを設定していると、NumLockで有効になる時と無効になる時で周波数が変わっていて音で識別できるようになっている、とかそういう面白いこともやりたいわけですが・・・
例えばDeviceIoControl()なんかに特別なデバイスを指定したりとか、マルチメディア系のインターフェースでビープ音を扱える、とかはないですかね・・・? DOS時代にはビープ音で演奏するソフトが色々ありましたが・・・
なお、Win2000も使ってみました。確かにsystem("\a");でビープ音、出ますね・・・「''は内部コマンドまたは外部コマンド、操作可能な・・・」というエラーメッセージも一瞬出ますが・・・
それで
CreateProcesA(NULL, "command.com /cecho \a", &sa, &sa, ...);
はWin2000では音が鳴りません。
CreateProcesA(NULL, "cmd.exe /cecho \a", &sa, &sa, ...);
にすると音が鳴ります。
残念なのは、Win2000(のWin32)ではI/Oポートがすべてマスクされ、しかもシミュレートもない、ということですね・・・Win98では61hはアンマスクになってたりしますし、マスクされたポートも適当にシミュレートしてくれますね。スルーされるだけだったりしますが・・・
なお、MessageBeep(-1)ですが、Win98では確かに極めて短いビープ音(ボツッというような音)が鳴るのですが、Win2000ではサウンドカードからの音(MB_OKと同じ音)ですね。MSDNにはビープ音だと書いてあるのに、やはりウソが書いてあるのか・・・orz
NT3.1とかではビープ音だったんですかね?
740
名前:
デフォルトの名無しさん
:2005/08/27(土) 07:04:31
>>739
そもそもハード的にM/Bのスピーカは周波数とか変えられるんだろか…
741
名前:
デフォルトの名無しさん
:2005/08/27(土) 08:16:06
DrawTextで \n やワードラップで改行されるときの
行間の幅を変えるにはどうすればいいですか?
742
名前:
デフォルトの名無しさん
:2005/08/27(土) 08:26:44
>>740
あっはっは。面白いこというなぁ。
昔はBEEPでBGMとか当たり前だし、
BEEPを通常のサウンドデバイスとしてあつかうドライバもあるのに。
743
名前:
デフォルトの名無しさん
:2005/08/27(土) 08:39:00
単音BGMか?
今後製造されるM/Bでもスピーカの周波数が変えられることは保証されてるのか?
744
名前:
デフォルトの名無しさん
:2005/08/27(土) 08:46:55
>>743
結果に対して仮定を持ち出す
そいつは詭弁という奴ですよ〜
745
名前:
743
:2005/08/27(土) 09:00:10
>>744
勝手に討論を始めないでくれ
746
名前:
デフォルトの名無しさん
:2005/08/27(土) 09:04:46
>>743
アナクロな技術を使うならば、単音単一周波数単一音量でもパルス制御すれば三重奏に聞こえる程度の音は作れる。
>>739
目的がよく判らんのだが、自分の端末だけでやりたいのか、他人も同じ目に遭わせたいのかその辺りは?
それから、サウンド機能を使わずにビープだけでやりたいと言う理由もよく判らんな。
747
名前:
デフォルトの名無しさん
:2005/08/27(土) 09:32:24
>>739
つか、MessageBeep()でもまえの要求は完全に満たしてるじゃん。
・サウンドカードから音を出したい
・状況によって音を変えたい
何を前スレからうだうだ気にしてるんだ?
あとM/BのBEEP全然関係ないし。
748
名前:
デフォルトの名無しさん
:2005/08/27(土) 09:37:28
>>739
流れがよーわからん(スレ境界またいでるの追う気力がない)が
PlaySound じゃあかんのか?
749
名前:
:2005/08/27(土) 09:44:21
test
750
名前:
デフォルトの名無しさん
:2005/08/27(土) 10:20:12
>>746
むかーし、リレースイッチ?の「カチ」っていう音で
サンプラーっていうのもあったなあ。
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.