[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/26 11:03 / Filesize : 178 KB / Number-of Response : 859
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Win32API質問箱 Build85



1 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:07:21 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

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

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

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

Win32API質問箱 Build84
pc12.2ch.net/test/read.cgi/tech/1259478896/

741 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 16:43:37 ]
>>739
GetDIBits

742 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:15:26 ]
lineToの幅は何ピクセルか分かりますか?

743 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:17:00 ]
殺すぞ

744 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:19:38 ]
>>742
デバイスコンテキストのペンを取得してGetObjectしてペンのスタイルと幅を見る。
ヒントは出したから後は自分で考えろ。

745 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:25:02 ]
ヒントっていうかまんまだな

746 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:42:52 ]
おかげさまでキラーアプリが出来上がりました。
明日、特許申請に行こうと思います

747 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:52:45 ]
ノートPCに、USBキーボード指して使ってるんですが
USBキーボードのキーを押しっぱなしにしていても
ノートPCのキーボードが押されてないと判断するのか
WM_KEYDOWNの直後に同じキーのWM_KEYUPが発生してしまうのですが。

アプリで標準の入力とみなすキーボードの選択って
どうやるのか教えて頂ける方いましたら宜しくお願いします。


748 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:55:12 ]
WM_KEYDOWN
WM_KEYUP
WM_KEYUP
WM_KEYUP
WM_KEYUP

っていう意味ならオートリピートしてるだけじゃないの?

749 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 06:15:02 ]
ノートPCに直接ついてるキーボードでAキー押しっぱなしにしても
KEYUPは来ないんですが、USBキーボードでAキー押しっぱなしにすると
押しっぱなしにしてるのにKEYUPが来てしまうんです。

↓のような感じです。
if(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)){

 if(!GetMessage(&msg,NULL,0,0)){
  break;
 }

 if(msg.message == WM_KEYUP)
 {
  break; ←USBキーボードだとキー押下だけで、引っかかる。
 }




750 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 06:20:35 ]
>>748
すいません見落としました。
調べてみます。有難うございました。

751 名前:747 mailto:sage [2010/01/24(日) 13:32:40 ]
たびたびすみません。
PCのキーボード長押しの後、離すと
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は1
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は1
...
WM_KEYUP

となり、自分が想像してるオートリピートの処理となるのですが
USBキーボードだと長押しだけで
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYUP
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYUP
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYUP
...繰り返す

となるようなのですが、
直前のキー状態が0になるので
OSのキーリピートでなく、自動連打?のようなものが働いているのですが
これはキーボードについてるオートリピート機能と
OSのキーリピートは異なるのでしょうか。
これだけをアプリから無効化する手段は何か無いでしょうか。


752 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:47:05 ]
自動連打って何よ。
ゲームの連射機能みたいなもん?

753 名前:747 mailto:sage [2010/01/24(日) 14:00:51 ]
キーボードの説明書とやらを見てもリピートみは触れてないし
キーボードのプロパティで、速度を、一番長く遅くしても短く速くしても
似たタイミングで↑のようなことになるんだもの。
きっと下らない原因なんでしょうが。
押下中にKEYUPが起こってもらうわけには絶対いかないので
脳内でこれを自動連打と名付けて対処方法考え中なだけです。

754 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:16:50 ]
Bingってみると、チャタリングによる不良とかPS/2->USB変換機絡みで
そういう事が起きることもあるみたいだな。
USBキーボード側が腐ってるって事で良いんじゃね?

755 名前:747 mailto:sage [2010/01/24(日) 15:05:15 ]
>>754
有難うございます。

手動ではありえないくらい短い時間で連続してKEYUP来たら
それは無視する、とかでもう少し粘ってみます。

756 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 15:44:06 ]
Viewを管理するクラスを作っているのですが
フォントってウィンドウごとに設定されるのでしょうか?



757 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:03:26 ]
USBキーボードを違うのに変えても結果はおなじ?

758 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:20:30 ]
キーボードのドライバがなんかやってるんじゃないの?


759 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:27:54 ]
ドライバじゃいと予想してみた。初心者がつくった怪しげな常駐ソフトとか。



760 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:26:29 ]
USBキーボードだとそんなことあるのか。
うちでも実験してみるかな?

761 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:20:01 ]
>>756
CS_OWNDCでウィンドウ毎にDCを持たせればそういう事も出来るが、
そうでない場合は設定とかは無い。
WM_GET/SETFONTも実装側で対応しないと何の効果も無かったはずだし。

762 名前:747 mailto:sage [2010/01/24(日) 20:12:57 ]
>>757
見直したところ、 ノートPCに付けてたのは、PS2 キーボードを
USB PS2変換ケーブル「Arvel AUO1PS」につないで、 USBに指して使ってました。

別にUSBキーボードと、別のPS2キーボード、
WindowsXPマシン、WindowsVistaマシン
が丁度あったのでテストしてみました。

開発環境(Windows Vista)
+USBキーボード = 未発生。
+PS2キーボードA + 変換ケーブル = 発生。
+PS2キーボードB + 変換ケーブル = 発生。

WindowsXP マシン
+USBキーボード = 未発生。
+PS2キーボードA + 変換ケーブル = 発生。
+PS2キーボードB + 変換ケーブル = 発生。

Windows Vista マシン
+USBキーボード = 未発生。
+PS2キーボードA + 変換ケーブル = 発生。
+PS2キーボードB + 変換ケーブル = 発生。

763 名前:747 mailto:sage [2010/01/24(日) 20:15:10 ]
>>754

>>PS/2->USB変換機絡みで そういう事が起きることもあるみたい

自分はソースを見つけられなかったので
確証無く、単に自分の変換ケーブルが壊れているだけかもですが、
自分で勝手に作ってるソフトなので、これを信じ、
対処の処理を追加したいと思います。
的確な、ご指摘有難うございました。

764 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 04:01:24 ]
二次元配列の中身をメッセージボックスで並べて表示したいのですがどうすればいいですか?

765 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 04:06:02 ]
どうすればって…空白と\n(改行)で繋いで表示するとかしたらいいんじゃないでしょうか

766 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 10:39:16 ]
可変幅フォントでカラムがずれるという事じゃないかな。
MessageBoxで揃える方法があるなら俺も知りたい。

767 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:07:13 ]
>>766
::MessageBox()のAPIフックして固定幅フォントをセットし直せばよいのではなかろうか

768 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:38:07 ]
MessageBoxをCreateWindowしたいってことじゃないの?

769 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 13:52:47 ]
そこまでやるならダイアログ作るんじゃないかw



770 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 14:17:11 ]
メッセージボックスを一度に複数表示したいということかもしれない

771 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:03:15 ]
結局よく分からないな…

772 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:32:29 ]
CreateStatusWindowで作るステータスバーに右から左に流れるメッセージを
表示するにはどうすればいい?


773 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:41:35 ]
オーナードロー。

774 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:41:53 ]
タイマーか何かで一文字ずつずらして表示すればいいんでは
1回目ABCDE
2回目BCDE
3回目CDE
.
.
6回目
7回目    A

775 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:48:50 ]
>>774
そういう方向で実装するしかないんですか・・・めんどくさいな

776 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:00:20 ]
ダイアログのクライアント領域にエディット・ボックスを縦に並べ、
最上部のウィンドウを開け閉めしてダイアログの高さを変更しようと
してますが、うまくいきません。

┌[ダイアログ]──────────┐
│┌─────────────┐│
││       Edit Box1       ││
││                   ││
│└─────────────┘│
│┌─────────────┐│
││       Edit Box2       ││
││                   ││
│└─────────────┘│
│┌─────────────┐│
││       Edit Box3       ││
││                   ││
│└─────────────┘│
└───────────────┘

  ShowWindow(1,SW_HIDE);
  MoveWindow(2);
  MoveWindow(3);
  MoveWindow(ダイアログ);

では、ダイアログ・ウィンドウ内が真っ白になり、マウスでサイズ変更すると
1が消えているだけです。

こういう動作は、どんな手順ならよいのでしょ〜か?

777 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:19:03 ]
ちゃんとRepaintフラグ送ってんですか?

778 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:21:35 ]
BeginDeferWindowPos

779 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:38:25 ]
>>775
せいぜい1時間くらいだよ
一回書けば使いまわし出来るだろ



780 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:40:19 ]
では一時間後に >>779 がうpしてくれるのを楽しみに待つとしよう

781 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:13:06 ]
……。

782 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:36:00 ]
wktk

783 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:47:02 ]
779ではないが。なんか書けたぞ。通るかも解らんが(笑)

static int nNowPos = 0; static DWORD dwLastTime = 0;
DWORD dwWork; char bufWork[256]; char bufHyouziString[256];

strcpy(bufWork,"ABCDEが流れると嬉しいな。 ");

//前回より1秒経過してたら。更新
dwWork = timeGetTime();
if((dwLastTime + 1000) < dwWork){
//最後に更新した時間を更新
dwLastTime = dwWork;
//今の文字が全角なら、次に進めるカウントは+2
if(bufWork[nNowPos] & 0x80 == 1){
nNowPos +=2;
}
else{
nNowPos ++;
}

//最後まできてたらまた最初
nNowPos = nNowPos % strlen(bufWork);
}
//進んだアドレスを先頭にして、文字列コピー
strcpy(bufHyouziString,bufWork[nNowPos]);

//ここまでで、bufHyouziString に来るんではないかね多分・・・


784 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:49:17 ]
いろいろ間違えてるな。0x80 との比較結果は != 0だった。
まぁどうでもよいか。

785 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 01:25:17 ]
とりあえず出来た
もうすぐうp

786 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 02:02:44 ]
おれなら
char orig[]="ABCDEが流れると嬉しいな。 ";
なら
char tmpbase[]="\t\tABCDEが流れると嬉しいな。 ______________________";//_は半角スペースでステータスバーが埋まるだけの数
を用意して
定期的にtmpworkからtmpbaseをコピーして適切な位置に\0挿入する

787 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 11:42:26 ]
ステータスバーが埋まる文字数。が常に固定であるかの
考慮忘れて発現してた。
GUIで食ってる人はこういう時の定石とかあるのかな。

788 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:28:58 ]
そういうUIは嫌われるから作らないのが定石。

789 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:58:19 ]
ステータスバーに文字が流れるのって昔見たなー、と思ったが
あれはブラウザにjavascriptで書いてたんだったか



790 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 13:07:01 ]
ずーーーっと見てないと何が書いてあるのかわからないのは時間の無駄


791 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:44:10 ]
SB_SETPARTS にも対応してくだされ

792 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:00:16 ]
>>787
こんなクソUI作らないのが定石です

793 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:15:08 ]
文字流す用のウィンドウ作ってそれをステータスバーの上に乗せればよくね

794 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 19:59:26 ]
作りたいもの作ればいいのよ
やる気だけが自分を向上させてくれる

795 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:33:34 ]
同意

796 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:34:44 ]


797 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:45:42 ]
文字列が与えられたときにフォント(等幅・プロポーショナルとも)考慮して
その文字列の画面上での表示幅を教えてくれるような関数ってWin32APIになかったっけ?

798 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:53:14 ]
GetTextExtentPoint32

799 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:11:25 ]
おおきに



800 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:16:25 ]
>>791
SB_GETPARTS でパート数と座標が判るので書きたい場所に DrawText 汁
この方法だと GetTextExtentPoint32 使わなくても良くなると思う

801 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:03:47 ]
ブラウザと同じように
ツールバーの右に何かの進行状況を
表すゲージを表示させるにはどうしたらいいの?

802 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:05:38 ]
ブラウザと同じようにやれば良い

803 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 08:06:24 ]
ブラウザはどうやってるの?

804 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 08:23:41 ]
そのブラウザ使ってググレカス

805 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 15:19:58 ]
ブラウザのツールバーの右に進行状況を表すゲージってでたっけ?
ステータスバーの右のこと?

806 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 16:56:00 ]
脳内変換しとけよ

807 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 16:57:57 ]
はいや

808 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:07:40 ]
どのブラウザだろう

809 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 18:08:19 ]
うちのブラウザです



810 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 19:33:04 ]
うちのブラウジャーですごめんなさい

811 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 20:52:20 ]
うちの妹のです

812 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 00:35:58 ]
そのブラウザい

813 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 08:13:12 ]
ぶらぶら

814 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 12:23:14 ]
Rich じゃない Edit control で、文字列の特定個所をハイライト表示させる
ことはできるのでしょうか??

815 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 13:42:53 ]


816 名前:814 mailto:sage [2010/01/28(木) 14:12:16 ]
EM_POSFROMCHAR で取得(すればよいのか?)した領域の

・バックカラーを変更するのは、どうすればよいでしょうか? (・д・)


817 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:23:28 ]
当該領域を選択すればよいと思われますが

818 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:36:29 ]
ということは、領域を選択する前に

(1)SetBkColor(黄色)
(2)領域を選択
(3)SetBkColor(オリジナル色)

とすれば良いのですかね?

819 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:43:26 ]
黄色って何? どこから出てきた?



820 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:46:26 ]
つまり、選択した領域のバックグランドカラーを任意に変えたいのです。

821 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:46:32 ]
ハイライト表示 が いつのまにか指定色背景のブロック塗り にカワットル

822 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:59:19 ]
素直に Rich Edit おすすめ

823 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:51:35 ]
WM_PAINTでBitBltしてビットマップ表示してるとき
そのビットマップの上でボタンとか置いてると
再描画したときにボタン消えるのはどうすればいいの?

多分上書きされて見えなくなってるんだと思うんだけど

824 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:57:01 ]
クリッピング

825 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 08:28:47 ]
ボタンを再描画させる。

826 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 10:52:30 ]
WS_CLIPCHILDREN

827 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 18:08:34 ]
32 bit プロセス内で DuplicateHandle(..., process_handle_of_64bit_process, &target_handle, ...) して
64 bit プロセスに target_handle をプロセス間通信で渡したんだけど、そのまま使って問題無い?

16bit → 32bit: WOWHandle32 で変換しなさい。
32bit → 64bit: WOWHandle64 …らしきものは見つけられなかった。

実は HANDLE は下位 32 bit に収まっていて、上位 bit を 0 で埋めればおkとか?


828 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 20:06:04 ]
32bitのハンドルを64bitのプロセスでDuplicateHandleすれば、
64bitプロセスで使えるハンドルが得られる、ような気がする。
あまり具体的に書かれていないので、実際に試さないと分からないが。

829 名前:827 mailto:sage [2010/01/29(金) 21:22:49 ]
> 32bitのハンドルを64bitのプロセスでDuplicateHandleすれば、
> 64bitプロセスで使えるハンドルが得られる、ような気がする。
つまりこうですか?

--code_for_x64.cpp--
DWORD handle_32; // sizeof(DWORD) == 4
HANDLE handle_64; // sizeof(HANDLE) == 8
ReadFile(pipe等, &handle_32, sizeof(DWORD), ...);
DuplicateHandle(static_cast<HANDLE>(handle_32), process_handle_of_32bit_process, &handle_64, GetCurrentProcess(), ...);

> あまり具体的に書かれていないので、実際に試さないと分からないが。
実際のところ、HANDLE は 32bit で表現できない値にはならなそうだけど…。

やはり具体的な記述が欲しいですね。
MSDN に x86 x64 共存 FAQ とかないかな。




830 名前:デフォルトの名無しさん [2010/01/29(金) 21:52:09 ]
ファイルの更新時間を変更したくてSetFileTime関数を使おうと考えています。
ただ、この関数を使うためにはCreateFileでGENERIC_WRITEを使ってHANDLEを
取得する必要があります。

問題は、ReadOnlyのファイルの更新時間を変える場合に、GENERIC_WRITEを使ってハンドルが取得できない点です。
ReadOnlyなファイルの更新時間はcygwinのtouchで変更できるのでなにか方法はあると思うのですがWin32APIを使う方法が分かりません。

どーしたらいいの?

831 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 22:00:21 ]
attribe -r

832 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 22:07:18 ]
readonlyを一旦外せばいいのでは?

833 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 22:19:54 ]
>>829
msdn.microsoft.com/en-us/library/ms724251(VS.85).aspx
> DuplicateHandle can be used to duplicate a handle between
> a 32-bit process and a 64-bit process. The resulting handle
> is appropriately sized to work in the target process.

834 名前:827 mailto:sage [2010/01/29(金) 23:31:42 ]
>>833
おお、ありがとう!
普通に書いてありましたね。

835 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 03:44:16 ]
>>823
BitBltの前にボタンの位置とサイズでExcludeClipRectすると少しだけよくなることなら知ってる

836 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 06:56:21 ]
>>823
ビットマップの上にボタンを置かなければよい。
仕様が間違っている。

837 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 07:02:22 ]
>>836
お前のアホさがとても残念だ

838 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 09:32:30 ]
WS_CLIPCHILDRENがあるじゃない

839 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 10:58:56 ]
GetPrivateProfileString
でバッファサイズが足りないと戻り値がnSize-1になるみたいなんですが
切り捨てられたか、文字数がピッタリ一致してただけなのかを区別することはできますか?



840 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 11:25:45 ]
バッファサイズを1文字余分に取る

841 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 12:04:29 ]
HWND h;
SHELLEXECUTEINFO sei = { 0 };
sei.cbSize = 60;
sei.nShow = SW_SHOW;
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.lpFile = "notepad.exe";
ShellExecuteEx(&sei);
Sleep(3000);
h = FindWindowEx(sei.hProcess, NULL, TEXT("Edit"), NULL);
SendMessage(h, WM_SETTEXT, 0, (LPARAM)("test"));

ShellExecuteExでメモ帳を起動させて3秒後に"test"を
エディットに表示させたいんだけど
FindWindowExがNULLを返す模様。どうしたらいいの?






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

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

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