- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:23:58 ]
- スレ立てるまでもない、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質問箱 Build68 pc11.2ch.net/test/read.cgi/tech/1215348804/
- 581 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 01:49:35 ]
- 頑張れば可能じゃないの?
例えばの話だが、 赤にする→文字を書く→緑にする→同じ位置に文字を書く を目にも止まらぬ速さで繰り返せば理論上は黄色に見えるだろ。 ただポケモンショックでぶっ倒れても俺は知らん。
- 582 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:00:30 ]
- 自分のstartupinfoを書き換えるにはどうすればいい?
- 583 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:02:30 ]
- 自分自身の書き換えではないけど…
差し替えた STARTUPINFO で 自アプリを CreateProcess して、自分自身は死ぬ とか?
- 584 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:06:47 ]
- やだ死にたくない
- 585 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:55:23 ]
- >>582
SetStartupInfo
- 586 名前:デフォルトの名無しさん [2008/08/29(金) 17:58:38 ]
- しにたくないよう
- 587 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 18:08:44 ]
- マジレスするとGetStartupInfoWはRTL_USER_PROCESS_PARAMETERSの内容を写してるだけ
RTL_USER_PROCESS_PARAMETERS* p = (RTL_USER_PROCESS_PARAMETERS*)0x20000; でアドレスが得られるから後は煮るなり焼くなり好きにしろ
- 588 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 18:21:31 ]
- ttp://undocumented.ntinternals.net/UserMode/Structures/RTL_USER_PROCESS_PARAMETERS.html
>>RTL_USER_PROCESS_PARAMETERS is located at address 0x20000 (for all processes created by call WIN32 API CreateProcess). 今はどのOSでもそうなのかもしれないが、将来はどうなるかわからん まあ頑張れ
- 589 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 18:44:01 ]
- そんなの気にしなくていいよ
- 590 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 19:24:55 ]
- 何という糞プログラムw
- 591 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 19:49:04 ]
- >>587-588 ありがと!
- 592 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 20:17:29 ]
- STARTUPINFOを書き換えるなんてのがそもそも糞プログラムなんだから
方法がOS依存しようがそんな事どうでもいいだろ
- 593 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:40:15 ]
- 個人的には、GetCommandLine()の書き換えも同じくらい糞だと思うが、
argvの書き換えが認められているから、こっちは許容されている感じがする……。
- 594 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 22:19:50 ]
- リストボックスの文字列の高さを決めたいんだけど、
TEXTMETRICのtmHeightじゃ高すぎて(上下の文字列と空間開きすぎ) LOGFONTのlfHeightじゃ低すぎるんだけど(英語OSだとgとかpとかの下が切れた) どうやったらいいのかな?
- 595 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 22:31:50 ]
- WNDCLASSとWNDCLASSEXの違いってなんですか?
- 596 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 22:56:11 ]
- 拡張版か否か
- 597 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:05:40 ]
- >>581
そんなことでポケモンショックになるならDLPプロジェクタが発売禁止になってるて。
- 598 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:09:12 ]
- >>581
やってみたら?
- 599 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:09:31 ]
- >>594
TEXTMETRIC.tmHeightが開きすぎるように感じるのは、 むしろ日本語フォントが詰めて描画される傾向にあるから。 メイリオの話なら、それはフォント自体の仕様でそれが正常。 LOGFONT.lfHeightが低すぎるのは、 高さを決めたときのフォントと違うフォントで描画している。 とエスパーレスしてみる。
- 600 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:29:32 ]
- CreateWindowで作ったウインドウの背景色を後から変更するにはどうしたら良い?
- 601 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:05:33 ]
- >>600
CreateWindowで作ったウインドウの背景色を後から変更したら良い
- 602 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:25:41 ]
- >>600
h ttp://winofsql.jp/VA003334/CprogSTD020726201337.htm など
- 603 名前:600 mailto:sage [2008/08/30(土) 00:27:55 ]
- >>601
なるほど。 ありがとうございます。
- 604 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:29:12 ]
- ある拡張子のファイルを開くプログラムに自作のソフトを設定して複数のファイルを同時に開いた時
コマンドで複数の引数を渡されるのではなく、開いた数だけプログラムが起動してしまうんだけど これを何とか一つのプログラムで開けるようにできないですか?
- 605 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:32:28 ]
- >>604
出来ます。
- 606 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:34:03 ]
- >>604
mutex でググってみる?
- 607 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:34:12 ]
- まあ単色塗りつぶしにPatBltとか使うのは無能なんだが。
- 608 名前:600 mailto:sage [2008/08/30(土) 00:36:53 ]
- >>603は私じゃありません。
- 609 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:39:40 ]
- >>600
SetClassLong
- 610 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 01:40:31 ]
- 素直にFillRect使っとけ、って感じはするね。
ExtTextOut使えとは流石に言わないけど。
- 611 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 02:09:48 ]
- >>599
日本語OSだとMS UI Gothicで 外語OSだとMS Shell Dlgとかいうフォントがきてる 日本語OSだとLogFont.lfHeightはちょうどいい感じ 外語OSのときに狭い。tmHeightは広い。 lfHeightt+2か3くらいで出せるとよさげ。 tmExternalLeadingとかいうのが2できてるけど、 日本語だろうと外語だろうと関係なくきてるから根拠がわからん。 tmInternalは常に0だし(´・ω・‘) 情報が良くわかってなくてスマンコ
- 612 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 05:19:24 ]
- >>610
昔はExtTextOut使った方が速かったんだけどね
- 613 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 09:03:08 ]
- >>602>>609>>610
どーも。SetClassLongを使ったら無事できました。
- 614 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:03:19 ]
- リッチエディットについて質問させて下さい。
リッチエディットにアイコンまたはビットマップをテキストと混在させて 表示することはできるのでしょうか? また、そのアイコンやビットマップをクリックしたことを検出することは できるのでしょうか。 もし可能でしたら、参考になるサイトや資料へのポインタ等をお教えいただければ ありがたいです。
- 615 名前:604 mailto:sage [2008/08/30(土) 12:11:09 ]
- 一応できたので報告。
mutexで二重起動を防止しつつ既に起動しているなら FindWindowでそのウィンドウを見つけてCOPYDATAメッセージでコマンド引数を渡し 読み込み、後起動のウィンドウを閉じる。 となりました。ありがとうございました。
- 616 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:58:30 ]
- // ウィンドウの作成
if(isFullScreen) { // フルスクリーン int sw; int sh; // 画面全体の幅と高さを取得 sw = GetSystemMetrics(SM_CXSCREEN); sh = GetSystemMetrics(SM_CYSCREEN); 画面全体の高さを幅を取得とありますが 今使っているディスプレイのサイズを取得するってことですか?
- 617 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 13:04:24 ]
- プライマリモニタ
- 618 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 13:07:34 ]
- >>616
シングルモニタの場合には解像度が得られる マルチモニタ環境の時には思ってるものと違うものが返ってくるかもしれない
- 619 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 13:09:44 ]
- ありがとうございます
- 620 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 13:34:49 ]
- >>614
リッチエディットにテキストとビットマップを混在させるのは可能。 ttp://www.codeguru.com/cpp/controls/richedit/article.php/c5383/ この辺が参考になるかと。
- 621 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:08:24 ]
- パフォーマンスカウンタから自分自身のCPU使用率を得たいのですが、
自分自身を表すインデックスを取得するのにうまい方法は無いのでしょうか。 列挙するしか無いんですかね。
- 622 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:03:51 ]
- >>621
WMI
- 623 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:26:42 ]
- あー、自分自身ってのはプロセスのことです。説明不足があったらすみません。
自分自身のプロセスのCPU使用率を取得したい、ということです。 >>622 すみません、ぐぐったのですが、具体的な方法が分かりませんでした、、、
- 624 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 20:34:18 ]
- もっともっとぐぐるんだ
|

|