Win32API質問箱 Build79

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

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

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

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

Win32API質問箱 Build78
http://pc12.2ch.net/test/read.cgi/tech/1238289377/
2デフォルトの名無しさん:2009/04/22(水) 23:41:08
3デフォルトの名無しさん:2009/04/22(水) 23:41:38
4デフォルトの名無しさん:2009/04/22(水) 23:41:49
5デフォルトの名無しさん:2009/04/22(水) 23:42:04
6デフォルトの名無しさん:2009/04/22(水) 23:42:14
- Google 聞く前に検索
http://www.google.com/

下記サイトは、違っている事もあるので参考程度にしよう!
流れを参考にしながら、APIの仕様を読めば使えるはず。

- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
- Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
- Win32 プログラミング入門
http://www7.plala.or.jp/keny01/
●Win32API(C言語)
http://www.geocities.jp/ky_webid/win32c/
7デフォルトの名無しさん:2009/04/22(水) 23:42:36
荒れてるのはいつものことです
気にせず質問したまえ
8デフォルトの名無しさん:2009/04/22(水) 23:45:00
荒れているように見えるのはこのスレ流のコミュニケーションです。
皆様奮ってご参加ください。
9デフォルトの名無しさん:2009/04/23(木) 00:01:30
>>8
お前最近ずっと粘着してる●持ち荒らしだろ
10デフォルトの名無しさん:2009/04/23(木) 00:08:57
〜注意〜

このスレにはロクにコード書けないのに粘着して荒らす馬鹿がいます。
●持ちらしく執拗に連投してきますが荒らしはスルーしましょう。
11デフォルトの名無しさん:2009/04/23(木) 00:09:35
>>9が怪しい
12>>1-7:2009/04/23(木) 00:10:20
ちなみに俺ではないです
俺はスレ立てるとき以外ほとんどど書いてないので
13デフォルトの名無しさん:2009/04/23(木) 00:11:07
>>8=>>11=荒らしでFA
14デフォルトの名無しさん:2009/04/23(木) 00:14:09
1乙

ところで、>>2のMSDNライブラリが2つともリンク切れになっているんで、
次からはこの2008年12月版でお願いします。
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373
まあ次スレの頃にはまた新しいのが出ているのかもしれないけど。
15デフォルトの名無しさん:2009/04/23(木) 00:14:35
ここが荒れても、他のスレが平穏なら良いじゃないか
荒らしはこのスレの名物、いや、いつものことってことで
16デフォルトの名無しさん:2009/04/23(木) 00:15:59
ゴミの引き受けか…
17デフォルトの名無しさん:2009/04/23(木) 00:17:02
>>1
立てるなボケ
18デフォルトの名無しさん:2009/04/23(木) 00:26:02
>>7-17
もう、いつものパターンだかよ

●丸持ち、目覚まし、悪巧み香具師、下手PG、とか居るスレだから
いつもお祭りスレとだと自覚して使うように
19デフォルトの名無しさん:2009/04/23(木) 00:30:47
●丸持ち?www
20デフォルトの名無しさん:2009/04/23(木) 00:30:52
>>7-18
おまえら前スレに質問者様がお見えですぞ
21デフォルトの名無しさん:2009/04/23(木) 00:31:03
というかほとんど全てのスレに荒らしいるでしょ
22デフォルトの名無しさん:2009/04/23(木) 00:33:03
当然だろ
荒らすために2ch来てる基地外が複数スレに常駐して荒らしてるからな
23デフォルトの名無しさん:2009/04/23(木) 07:10:08
ヽ( ・∀・)ノ● ウンコー?
24デフォルトの名無しさん:2009/04/23(木) 10:23:54
http://www1.axfc.net/uploader/File/so/21979.zip
スクロールバーをつけるにはどう書けばいい?
2524:2009/04/23(木) 11:20:21
自己解決しました。
26デフォルトの名無しさん:2009/04/24(金) 17:43:59
実行環境の文字エンコーディングを取得する関数って何ですか?
UTF-8 とか windows-31j とかそういった情報を取りたいんですが。
27デフォルトの名無しさん:2009/04/24(金) 17:59:28
実行環境の文字エンコーディングって何?

コンパイル時に指定するからそれで確認すればいいんでね?
28デフォルトの名無しさん:2009/04/24(金) 18:07:36
>>26
なんでそういう操作が必要なのか書いたほうがよさげ
29デフォルトの名無しさん:2009/04/24(金) 18:08:20
>>26
GetACP
コンソールアプリならGetOEMCPのほうがいい。
30デフォルトの名無しさん:2009/04/24(金) 18:08:39
AreFileApisANSIを考慮した事が無い
3129:2009/04/24(金) 18:09:50
まあ、CPを引数に取る関数はみんな、CP_ACP/CP_OEMCPを引数に取るので、
GetACP/GetOEMCPの戻り値を使う必要は滅多にないと思う。
32デフォルトの名無しさん:2009/04/24(金) 18:10:41
>>30
日本語だとANSIコードページもOEMコードページも932でどうせ同じだからな。
33デフォルトの名無しさん:2009/04/24(金) 18:16:56
>>29
国は取れるけど、>>26は文字コードを言ってるように見える
34デフォルトの名無しさん:2009/04/24(金) 22:02:16
chcp 65001

more < file
not enough memory.
みたいに駄目なのは、Win32API的にはどういう原因、理由が考えられる?
35デフォルトの名無しさん:2009/04/24(金) 22:09:20
SetLocale() で UTF-8 が指定できないのと一緒者ね?
36デフォルトの名無しさん:2009/04/24(金) 22:24:51
UTF-8なんて面倒臭い文字コードをネイティブでサポートしてねーよって事だろ
37デフォルトの名無しさん:2009/04/24(金) 22:28:32
まあWindowsはシステム的にはUCS-2までのサポートだからな
38デフォルトの名無しさん:2009/04/24(金) 23:24:09
対象HWNDが表示・非表示のどちらであるかを取得するのって何かあります?
39デフォルトの名無しさん:2009/04/24(金) 23:25:26
>>38
IsWindowVisible
40デフォルトの名無しさん:2009/04/24(金) 23:31:23
>>39
ありがとうございます
41デフォルトの名無しさん:2009/04/25(土) 01:07:15
TrueTypeフォント使いたいんですけど、どうすればそういうフォント得られますか?
なんか適当にEnumFontsしても300フォント中一つもTrueTypeがなかったんですが・
42デフォルトの名無しさん:2009/04/25(土) 01:16:53
>>41
http://msdn.microsoft.com/ja-jp/library/cc428527.aspx
> 注:この関数は 16 ビット版の Windows との互換性のために提供されています。
> Win32 ベースのアプリケーションは、EnumFontFamiliesEx 関数を使ってください。
43デフォルトの名無しさん:2009/04/25(土) 01:17:36
そういうわけなんで、EnumFontsではTrueTypeが得られなくても無理はない。
44デフォルトの名無しさん:2009/04/25(土) 01:31:29
別にEnumFontsでもTrueTypeフォント列挙できるだろ
45デフォルトの名無しさん:2009/04/25(土) 01:37:55
なんかTrueTypeフォントの意味を分かってなさそう

大体300フォントの全てがTrueTypeじゃ無いってどういうPCなんだよw
46デフォルトの名無しさん:2009/04/25(土) 10:31:30
300フォントも入れてるってのもスゲエな
47デフォルトの名無しさん:2009/04/25(土) 12:55:31
>>42本当にありがとうございます。助かりました・・・。ちなみにうちのPCは全部デフォルト指定だとフォント数が700位列挙されました・・・。
48デフォルトの名無しさん:2009/04/25(土) 13:12:14
フォントを増やしすぎると、WordやExcelでの作業中、目当てのフォントが見つからなくて困る。
HGとMSの間に100以上あるとか。
書類仕事とそれ以外で実際に使うフォントが違いすぎる。
49デフォルトの名無しさん:2009/04/25(土) 14:31:26
ラスターフォントだけで300もあるのか?w
50デフォルトの名無しさん:2009/04/25(土) 14:32:56
どうせ割れフォント厨だろ。
51デフォルトの名無しさん:2009/04/25(土) 15:06:15
年賀状なんとかとかフォントパック買って全部突っ込むような馬鹿な真似したら300ぐらい余裕で突破するだろ
52デフォルトの名無しさん:2009/04/25(土) 15:10:57
一つのファントファイルで
等幅・プロポーショナル
の2つになるものと
英字のみプロポーショナル
も追加して3つになるものがあるね
53デフォルトの名無しさん:2009/04/25(土) 15:12:18
おまいらまとめてビジソフト板逝け
54デフォルトの名無しさん:2009/04/25(土) 15:52:30
>>51
けどそういうのってみんなTrueTypeだと思うんだが。
55デフォルトの名無しさん:2009/04/25(土) 16:03:54
だから割れだって
Macから抜いたヒラギノとかそこら中に落ちてるだろ
56デフォルトの名無しさん:2009/04/25(土) 16:06:58
まぁ持ってるフォント数を自慢するのはフォント厨の証拠
57デフォルトの名無しさん:2009/04/25(土) 16:09:19
フォント多くても普段は無駄なリソース食うだけなのに
58デフォルトの名無しさん:2009/04/25(土) 16:19:55
割れ厨にそんなの関係ないでしょ
そもそも所持フォントを全部購入すると新車一台余裕で買える額だろうからなw
59デフォルトの名無しさん:2009/04/25(土) 16:28:33
フォントや開発環境が割れようがお前らには関係の無いこと
リソース食う?WordやExcelで探すのが大変?余計なお節介どうも

スレ違いな突っ込みは目障りだからこれ以上レスしないように
60デフォルトの名無しさん:2009/04/25(土) 16:32:16
コトワル
61デフォルトの名無しさん:2009/04/25(土) 19:17:55
int CALLBACK FontProc(const LOGFONT *log,const TEXTMETRIC *tm,DWORD ,LPARAM lp){
  cout << log->lfFaceName << endl;
  return 1;
}
LOGFONT log;
log.lfCharSet = DEFAULT_CHARSET;
log.lfFaceName[0] = TEXT('\0');
log.lfPitchAndFamily = 0;
HDC hdc = GetDC(0);
EnumFontFamiliesEx(hdc,&log,FontProc,(LPARAM)0,0);
ReleaseDC(0,hdc);

これ実行したら結構出ると思うけど
62デフォルトの名無しさん:2009/04/25(土) 20:58:56
質問です
SetWaitableTimerでセットしたタイマーが、時間になって休止状態またはスタンバイから復帰した時に、
どっちの状態から復帰したか知る方法はあるでしょうか?
63デフォルトの名無しさん:2009/04/26(日) 00:12:04
う〜ん どうしてもGetGlyphOutline()がうまくいかない・・・サイズすら取得できない
GGO_NATIVEで制御点取得したいんだが、これ呼び出すにあたっての決まりって何が必要?
・TrueTypeフォントが設定されている
・文字は((*(char*)(L"A")) << 8) | (*((char*)(L"A")+1))の形で渡している(UNICODEコンパイルのため)
・GLYPHMETRICSやMAT2は一応初期化している
という感じなんですけども・・・
64デフォルトの名無しさん:2009/04/26(日) 00:14:57
>>63
文字リテラルって知ってるか?
65デフォルトの名無しさん:2009/04/26(日) 00:16:22
TrackPopupMenuでポップアップメニューを表示中にある領域から出たら
ポップアップメニューを閉じたいのですが何かよい方法ないですか?
66デフォルトの名無しさん:2009/04/26(日) 00:30:42
ユニコードならユニコードの1文字渡せばいいんじゃないの
67デフォルトの名無しさん:2009/04/26(日) 00:30:55
なんかあった気がする
68デフォルトの名無しさん:2009/04/26(日) 00:42:28
>>65
SetCaptureでマウスイベントを随時追いかけるとか?
でも、Shift+F10とかでメニュー出したときは出てすぐ範囲外とかあるんじゃないのかな
69デフォルトの名無しさん:2009/04/26(日) 00:48:53
>>68
ある領域から出たらというのは少し意味が違ってました
ある別の領域に入ったら閉じたいのですがなかなかうまくいきません
SetCaptureはTrackPopupMenuを呼び出した時点で解除されてしまうようです
70デフォルトの名無しさん:2009/04/26(日) 00:56:36
その領域にはいった時点で、WM_LBUTTONDOWNでも送っておけば?
メニュー領域以外をクリックしたら、ポップアップメニューは破棄されるだろ。
71デフォルトの名無しさん:2009/04/26(日) 00:58:54
>>70
SetCaptureが無効になるためその領域に入ったかどうかの判断ができないのでどうしたものかと考えてます
72デフォルトの名無しさん:2009/04/26(日) 00:59:48
>>71
WM_MOUSEMOVEは届くだろ
73デフォルトの名無しさん:2009/04/26(日) 01:02:09
キーボードでメニュー操作する場合は想定しないのか。
とんだ糞フトだな
74デフォルトの名無しさん:2009/04/26(日) 01:08:25
>>71
それが届かないのですよ
>>73
キーボードはSetWindowsHookExで何とかなるので
それを言ったらマウスもSetWindowsHookExすればいいという話ですが・・
75デフォルトの名無しさん:2009/04/26(日) 01:13:22
キーボードなら、Esc押せばメニューはいつでも閉じる。
それをマウスカーソルの位置でも実現したいのだろうから、このさいキー操作云々は無関係なんだがな。

もっとも、マウスクリックでしかそのメニューが出せないのなら、糞フトというのは的を射ているが。
76デフォルトの名無しさん:2009/04/26(日) 01:15:46
>>74
TrackPopupMenu の uFlags パラメータに TPM_RETURNCMD を設定しているんじゃなかろうな
77デフォルトの名無しさん:2009/04/26(日) 01:22:52
メッセージ届かないんだっけ?
んじゃ、GetSubMenuしたときにもらったハンドルを
SetWindowLongでWNDPROC書き換えてあげればメッセージもらえるんじゃね
無理やり臭いしめんどくさいなwww
78デフォルトの名無しさん:2009/04/26(日) 01:24:55
あーいまみたらHMENuだったわスルーして
79デフォルトの名無しさん:2009/04/26(日) 01:32:14
>>75
そういう問題じゃない。
キーボード操作してる時にマウスが動いて勝手にメニュー閉じたら迷惑だろ。
80デフォルトの名無しさん:2009/04/26(日) 01:38:40
糞フトというより糞サイトならよく見かけるな。

JavaScriptで出るメニューで、マウスカーソルが少しでも領域から外れると即閉じるやつ。
もう一度最初からメニュー階層を辿り直す羽目になる。

こういうの作る奴って本当に動作確認してるのか?って思ってしまう。
81デフォルトの名無しさん:2009/04/26(日) 02:28:25
>>80
恐ろしいことに某クレジットカード会社のサイトは、同じメニューの項目間の隙間に
マウスカーソルが乗るとメニューが閉じるw

メニューを選ぶには、隙間に乗らないように素早く的確に操作する必要がある。
82デフォルトの名無しさん:2009/04/26(日) 02:28:47
MessageBox(NULL,"愛が足りません",NULL,MB_OK | MB_ICONSTOP);
83デフォルトの名無しさん:2009/04/26(日) 02:50:34
所詮は低脳なWeb製作会社が二束三文で作った結果だろ

下手の横好きでJavaScriptやAjaxを使って凝ってるくせに、
未だに半角で入力しろ、ハイフン省け、とアナログすぎだったりとか

そんなのサーブレットのコードに数行書き加えれば済むだろうに・・・
84デフォルトの名無しさん:2009/04/26(日) 09:29:26
>>76
その辺はTPM_LEFTALIGNだけにしたり色々試してみたけど変化なし
>>79
メニューバーだとポップアップを開いた状態で左右の領域に移ったらメニューが勝手に閉じるけど
それも迷惑だと言いたいの?
85デフォルトの名無しさん:2009/04/26(日) 11:01:09
ちなみにSetWindowsHookEx(WH_MOUSE, (HOOKPROC)MouseProc, NULL, GetCurrentThreadId())して
WM_MOUSEMOVEを捕まえて別の領域に入ったら親ウィンドウにWM_LBUTTONDOWNをPostMessageして解決しました
86デフォルトの名無しさん:2009/04/26(日) 11:08:06
>>84
メニューバー上の項目間を移動した時だけな。
その時は、移った先の項目のポップアップが表示されるから、
閉じると言うよりは選択変更だな。

>>85
EndMenuがお勧め

別の領域にポップアップが被っていたら、少し出た瞬間に閉じられてしまう仕様なのかなあ。
そんなことが殆ど有り得ないほど場所が離れているなら、別にいいのだけど。
87デフォルトの名無しさん:2009/04/26(日) 11:25:06
EndMenuよりWM_CANCELMODEをPostする方がいい
WH_MOUSEよりWH_MSGFILTERの方がいい

つーかこの程度の情報が欲しかったのか?
同じ事がそのままMSDNに書いてあるだろうに、少しは探せよ…
88デフォルトの名無しさん:2009/04/26(日) 11:32:45
uruse baka
89デフォルトの名無しさん:2009/04/26(日) 11:38:13
siranai nara resu suruna
90デフォルトの名無しさん:2009/04/26(日) 11:43:04
>>85
別にフックしなくても、WM_ENTERIDLEを捕まえて、その領域に入ったらキーボードイベントで VK_ESCAPE を投げるという方法もある
91デフォルトの名無しさん:2009/04/26(日) 11:46:09
自前でメニュー出したときはWM_ENTERIDLEは飛んで来なかった気がするが。
92デフォルトの名無しさん:2009/04/26(日) 11:51:45
MSDN読めばやりたい事が全部載ってるのに半日間回答を待ち続けるなんて馬鹿だね
93デフォルトの名無しさん:2009/04/26(日) 11:52:35
馬鹿で結構なのでこれからも俺の糧として働けよおめーら
94デフォルトの名無しさん:2009/04/26(日) 11:52:45
>>86-87
なるほど、ありがとうございます
95デフォルトの名無しさん:2009/04/26(日) 11:59:10
>>93
騙りに失敗wバーカ
96デフォルトの名無しさん:2009/04/26(日) 12:05:41
>>64
文字をL'A'にしてもダメでした・・・。
GetLastError()のエラーコードは
1003 この関数を完了できません。Cannot complete this function
とのことで、何が何だか意味がわかりません。どういうことなんでしょうか?
97デフォルトの名無しさん:2009/04/26(日) 12:20:28
>>91
飛んでくる
98デフォルトの名無しさん:2009/04/26(日) 12:32:34
つーかこの場合フックの方が合理的だろうけど
ま、MSDNを読む気の無い奴にこれ以上何を言っても無駄だが
99デフォルトの名無しさん:2009/04/26(日) 12:49:49
>>96
きちっと確認できるコード出せよ。
100デフォルトの名無しさん:2009/04/26(日) 12:51:16
>>99
お前に確認してくれとは頼んでない
101デフォルトの名無しさん:2009/04/26(日) 12:51:41
GetGlyphOutlineの戻り値はGDI_ERRORなのか?
102デフォルトの名無しさん:2009/04/26(日) 13:00:42
>>99
my_hdc hdc = getDC(); //自前のHDC取得法。ここはちゃんと有効な値が得られている
UINT uchar = L'あ';
uchar &= 0xffff;
GLYPHMETRICS gm;
MAT2 mat = {{0,1},{0,0},{0,0},{0,1}};

DWORD size = ::GetGlyphOutline( hdc,uchar,GGO_NATIVE,&gm,0,0,&mat );

>>101
そうです。いくつもコード載ってるページ見てるんですが何が違うのかが分からない・・・
103デフォルトの名無しさん:2009/04/26(日) 13:16:24
my_hdcってHDCのtypedefか?
104デフォルトの名無しさん:2009/04/26(日) 13:17:37
TrueTypeフォントが正しく選択されていなかったというオチならシバく
105デフォルトの名無しさん:2009/04/26(日) 13:25:10
>>103まあ、そんな感じです。
>>104いや、フォントはHGP創英角ポップ体というやつでちゃんと表示される文字もそれになってます。
106デフォルトの名無しさん:2009/04/26(日) 13:25:37
UNICODE環境ならそのまま突っ込んじゃ駄目なの?

で、おいらにも教えてください
FindTextで検索ダイアログを表示して、カーソルがダイアログ上に
乗った瞬間、PeekMessageの所でアクセス違反が起こっちゃうんです
どういうアホな事やってるかエスパーして貰えませんか
107デフォルトの名無しさん:2009/04/26(日) 13:32:46
まずは質問の仕方を勉強しろ馬鹿
108デフォルトの名無しさん:2009/04/26(日) 13:33:15
コードがアホ以外に何を言えと
109デフォルトの名無しさん:2009/04/26(日) 13:40:32
>>102
エラーとは関係ないかもしれんが、そのmatおかしくね?
110デフォルトの名無しさん:2009/04/26(日) 13:43:47
> MAT2 mat = {{0,1},{0,0},{0,0},{0,1}};
てか、これコンパイル通るの?
111デフォルトの名無しさん:2009/04/26(日) 13:47:34
typedef struct _FIXED {
WORD fract;
short value;
} FIXED;

typedef struct _MAT2 {
FIXED eM11;
FIXED eM12;
FIXED eM21;
FIXED eM22;
} MAT2, FAR *LPMAT2;
112デフォルトの名無しさん:2009/04/26(日) 13:48:18
ああ、FIXEDって構造体なのか
じゃあコンパイル通るし間違ってないか
113デフォルトの名無しさん:2009/04/26(日) 13:49:07
最後の引数は無視される、って書いてあるから、NULL でも渡しとけば?
あと、やっぱり気になるのは文字の渡し方。A か W のどっちを使ってるのかわからないけど、
そのまま渡せばいいんじゃない?
114デフォルトの名無しさん:2009/04/26(日) 13:51:31
_T()やTEXT()を使わないならA/Wを明示的に指定しといた方がいいとは思うけどね
115デフォルトの名無しさん:2009/04/26(日) 13:58:34
とりあえずWの方に統一してみました。結果は変わらないですが・・・
116デフォルトの名無しさん:2009/04/26(日) 13:59:37
GetGlyphOutlineの前でSeledtObject(dc, font);してあるんだよね?
117デフォルトの名無しさん:2009/04/26(日) 14:01:09
GetGlyphOutlineって失敗してもロクにLastError設定しないみたいだな

GetGlyphOutlineW(0,L'あ',GGO_NATIVE,&gm,0,0,0)
で失敗してもERROR_SUCCESSだし
118デフォルトの名無しさん:2009/04/26(日) 14:19:00
ちょっとやってみたけど、適切なフォント選択したらそのまま動いたぞ
とりあえずMS明朝とかで試してみ
119デフォルトの名無しさん:2009/04/26(日) 14:24:59
試したけど動いた
>>118のいうとおりフォントが怪しいと思われ

int _tmain(int argc, char* argv[])
{
_tsetlocale(LC_ALL, _T(""));
HDC hdc = ::GetDC(NULL);
HFONT hFont = ::CreateFont(0, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, _T("MS UI Gothic"));
HFONT hOldFont = (HFONT)::SelectObject(hdc, hFont);
#ifdef UNICODE
UINT ch = L'あ';
#else
char s[] = "あ";
UINT ch = _mbsnextc((const unsigned char*)s);
#endif
GLYPHMETRICS gm = {0};
MAT2 mat = {{0,1},{0,0},{0,0},{0,1}};
DWORD size = ::GetGlyphOutline(hdc, ch, GGO_NATIVE, &gm, 0, NULL, &mat);
::SelectObject(hdc, hOldFont);
::ReleaseDC(NULL, hdc);
_tprintf(_T("%d\n"), size);
return 0;
}
120デフォルトの名無しさん:2009/04/26(日) 14:33:47
メニューにコントロールを入れたいんですが
自分でウインドウ作ってメニューっぽくするしかないですか?
121デフォルトの名無しさん:2009/04/26(日) 14:56:09
>>116-119
今まで本当にありがとうございました。そして、本当にすみませんでした。
WM_SETFONTだけじゃだめだったんですね・・・orz
多大な時間と労力をかけさせてしまい、申し訳ないですとも
122デフォルトの名無しさん:2009/04/26(日) 14:57:17
>>120
ない
123デフォルトの名無しさん:2009/04/26(日) 15:00:41
getDC()が自前関数なのはそのなかでSelectしてるんじゃ無いのかよw
124デフォルトの名無しさん:2009/04/26(日) 20:48:59
猫でもわかるのサイトとかでウインドウを表示させるプログラムを
組んだんですけど、ウインドウのウライアント領域にカーソルを持っていくと
カーソルがウインドウの枠を通るときに矢印から<->こんなカーソルになったまま
戻らないんですけど、矢印にするにはどうすればいいんですか?
125デフォルトの名無しさん:2009/04/26(日) 20:51:54
ウィンドウクラスを登録するときに、適当なカーソルを関連付けておく
126デフォルトの名無しさん:2009/04/26(日) 21:07:27
>>125

LoadCursor( hInstance, IDC_APPLICATION )
とかやってみたんですけど、なおりません
127デフォルトの名無しさん:2009/04/26(日) 21:12:06
>LoadCursor( hInstance, IDC_APPLICATION )
ってどこに書いてあったんだ?
まずは猫でも〜に書いてあることをちゃんと書き写せ
128デフォルトの名無しさん:2009/04/26(日) 21:14:48
ああ、間違えた、IDC_ARROWです
129デフォルトの名無しさん:2009/04/26(日) 21:20:19
理屈わからなくても、まずはサイトのとおりに書けるようになれ
俺が説明したところで、また間違えて書き写して、できませんって泣きつくだけだから
130デフォルトの名無しさん:2009/04/26(日) 21:24:57
猫でもはカーソルNULLにしてるじゃん
131デフォルトの名無しさん:2009/04/26(日) 21:27:23
アイコンはNULLだけどカーソルは違うだろ
132デフォルトの名無しさん:2009/04/26(日) 21:29:43
あ、最初の引数はNULLだったのか
ありがとう!
133デフォルトの名無しさん:2009/04/27(月) 06:09:35
つーかコピペを間違えるってどういう状況なんだよw
134デフォルトの名無しさん:2009/04/27(月) 19:55:34
ごめんなさい、ほんとうにごめんなさい
135デフォルトの名無しさん:2009/04/28(火) 07:32:10
なぜにスレスト
136デフォルトの名無しさん:2009/04/28(火) 13:11:10
yirusu
137デフォルトの名無しさん:2009/04/28(火) 13:25:38
ウィンドウプロシージャで

case WM_COMMAND:
switch(LOWORD(wp))
{
case IDM_END:
SendMessage(hWnd, WM_CLOSE, 0, 0);
break;
.....
}
case WM_CLOSE:
id = MessageBox(hWnd, TEXT("終る?"), TEXT("確認"), MB_YESNO | MB_ICONQUESTION);
if (id == IDYES)
DestroyWindow(hWnd);
break;

メニューから選んでWM_COMMANDとばす→IDM_ENDだからWM_CLOSEとばす
→確認のダイアログがでるから「いいえ」を選択
→再び確認ダイアログがでる どうして?

調べても出てこなかったんだけど、WM_CLOSEメッセージは
ダイアログ消しただけで出てくるもの?
そうじゃなきゃなんで二回も出てくるのかわからない・・・
138デフォルトの名無しさん:2009/04/28(火) 13:31:31
WM_COMMANDの中のswitch出た後にbreakがないからだ
139デフォルトの名無しさん:2009/04/28(火) 13:35:09
ホントだ。よく気付くなw
140137:2009/04/28(火) 13:36:23
>>138
ホントだ・・・

おかげで今までのミスのとりあえずの原因が全部解決したわ
ありがとう
141デフォルトの名無しさん:2009/04/28(火) 16:38:32
apiの問題以前のやつ多すぎだろJK…
142デフォルトの名無しさん:2009/04/28(火) 20:48:53
>>141
まあいいじゃないですか、API使いは大きな心で構えていようよ
143デフォルトの名無しさん:2009/04/28(火) 21:52:21
質問させて下さい。

FindFirstFileとFindNextFileを使って、指定したフォルダ配下のファイルを
次々にリネームしていくプログラムを作っているのですが、
一通りのファイルをリネームしても、FindNextFileがリネーム済みのファイルを
再び見つけてしまい、上手く行かないのですが使い方が間違っているのでしょうか?

[コード]
do {
if ( (strcmp(fd.cFileName, ".") != 0) &&
(strcmp(fd.cFileName, "..") != 0) &&
!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
中略
   ret = rename(fullpath, sAftername);
中略
} while (FindNextFile(hFind, &fd));
144デフォルトの名無しさん:2009/04/28(火) 21:58:07
>>143 FindClose(hFind);
145デフォルトの名無しさん:2009/04/28(火) 21:58:07
一度変更したファイルを除外したいなら覚えておくか名前で撥ねる
146デフォルトの名無しさん:2009/04/28(火) 22:00:06
ファイル名を全部取得した後でまとめてリネームすればいいだろ、常識的に考えて
147デフォルトの名無しさん:2009/04/28(火) 22:04:10
>>144
FindCloseはループでた後に使ってます。

>>145,146
なるほど、、、そういうものなんですか。リネームとの相性悪いですね。
146さんの言うようにプログラム構成を考え直してみます。

ありがとうございました!
148デフォルトの名無しさん:2009/04/28(火) 22:32:09
カーソルの移動をクライアント領域に制限するためにClipCursorを使うと
アクティブ状態じゃないときも移動が制限されるため
case WM_ACTIVATE:
                if( LOWORD(wParam) == WA_INACTIVE )
                {
                        ClipCursor(NULL);
                }
                else
                {
// クライアント領域を求める処理
                        ClipCursor( なんたらかんたら );
                }
break;

っていう感じにしたんですけど
ノンアクティブ状態からアクティブ状態に戻すときにタイトルバーをクリックして戻すと
アクティブ状態になっても普通にカーソルが移動できてしまいます
なぜでしょうか
149デフォルトの名無しさん:2009/04/28(火) 22:37:00
WM_ACTIVATEAPP
150デフォルトの名無しさん:2009/04/29(水) 00:11:46
自己解決しました
151デフォルトの名無しさん:2009/04/29(水) 07:06:47
リネームとの相性悪いんじゃなくて当然の話だろう
列挙中にデータ構造を変えるとどうなるかなんて、少し考えれば分かるかと
152デフォルトの名無しさん:2009/04/29(水) 10:57:49
なんて頭の悪い質問なんだろう
153デフォルトの名無しさん:2009/04/29(水) 11:51:02
頭が良ければこんな所で質問しない
なぜなら、質問する前にここの住人の頭の悪さに気付くから
154デフォルトの名無しさん:2009/04/29(水) 11:55:32
普通は調べてもわかんないことをここに聞きに来るんだろうけど
そういう疑問はたいてい調べれば見つかるからな

だからここにくる質問は
・基本だからいちいち説明されないほど程度の低いこと
・どこを見てものってないような高尚なこと
この二択に絞られる気がするんだ
155デフォルトの名無しさん:2009/04/29(水) 12:03:01
・他所では聞けない灰色なこと
156デフォルトの名無しさん:2009/04/29(水) 12:26:44
じゃあこのスレいらないな
157デフォルトの名無しさん:2009/04/29(水) 14:05:16
馬鹿となんとかは使いようだぞ
158デフォルトの名無しさん:2009/04/29(水) 14:22:16
なんとかとハサミだろw
159デフォルトの名無しさん:2009/04/29(水) 14:38:06
馬鹿と阿呆は使いように決まってるだろ
160デフォルトの名無しさん:2009/04/29(水) 14:40:38
無能な働き者は射殺しろって誰かが言ってたよ
161デフォルトの名無しさん:2009/04/29(水) 14:45:04
有能な怠け者は自分が楽をするために的確な指示を出す
無能な怠け者は与えられた最低限の命令しか実行しないが、十分だ
しかし、無能な働き者は間違った命令に気づかずに延々と作業を続け、大きな損害を出す

みたいな文章をどこかで読んだ気がする
162デフォルトの名無しさん:2009/04/29(水) 14:48:28
だから?
163デフォルトの名無しさん:2009/04/29(水) 14:51:43
有能な働き者は世界を滅亡されるきっかけを作る
164デフォルトの名無しさん:2009/04/29(水) 14:53:59
で?
165デフォルトの名無しさん:2009/04/29(水) 14:54:41
でっていう
166デフォルトの名無しさん:2009/04/29(水) 15:24:17
今まで知らなかったけど、こんなモードできてたのね

MSDN ライブラリ オンラインの表示を速くする
http://blogs.msdn.com/dd_jpn/archive/2009/04/10/9542722.aspx
167デフォルトの名無しさん:2009/04/29(水) 15:55:00
どうでもいいよ
168デフォルトの名無しさん:2009/04/29(水) 15:57:38
どうでもいいならいちいち書くなよ
169デフォルトの名無しさん:2009/04/29(水) 15:59:33
普通に考えて気づいてないやついなくない?
170デフォルトの名無しさん:2009/04/29(水) 16:24:52
いたんだろ
171デフォルトの名無しさん:2009/04/29(水) 16:30:34
どうでもいい
172デフォルトの名無しさん:2009/04/29(水) 16:31:34
チラシは日記の裏に書いてろクズ
173デフォルトの名無しさん:2009/04/29(水) 17:06:31
ここはみんなの日記帳であり雑記帳です。当然僕の日記帳でもある。
by 目覚まし
174デフォルトの名無しさん:2009/04/29(水) 17:10:23
寝言は寝て言え
175デフォルトの名無しさん:2009/04/29(水) 17:11:46
ここは目覚ましを含む基地外専用スレだろ
前スレの900以降ぐらいを見れば分かる
176デフォルトの名無しさん:2009/04/30(木) 14:09:50
BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{
switch( msg ){
case WM_INITDIALOG: // ダイアログボックスが作成されたとき
return TRUE;

case WM_COMMAND: // ダイアログボックス内の何かが選択されたとき
switch( LOWORD( wp ) ){
case IDC_BUTTON1: // 「OK」ボタンが選択された
// ダイアログボックスを消す
EndDialog( hDlg, 0 );
break;
}
return TRUE;
}

return FALSE; // DefWindowProc()ではなく、FALSEを返すこと!
}

WM_INITDIALOGにはメッセージが入るが、WM_COMMANDにメッセージが入りません
どういったことが考えられますか?
VS2005 OS VISTA
177デフォルトの名無しさん:2009/04/30(木) 15:02:48
>>176
IDC_BUTTON1じゃなくて、IDOKだったというオチだったり?
178デフォルトの名無しさん:2009/04/30(木) 15:07:59
>どういったことが考えられますか?
コーディングミス
179デフォルトの名無しさん:2009/04/30(木) 15:10:05
リソース.rc を作ってない。とか?
180デフォルトの名無しさん:2009/04/30(木) 15:17:21
IDOKではなくIDC_BUTTON1でリソースは作ってあります。
たぶんコーディングミスだとは思うのですが…
ダイアログが表示されてもどこでマウスクリック(ボタン以外の所で)しても
エラー音(キンという音)が鳴るのです
181デフォルトの名無しさん:2009/04/30(木) 15:48:29
>どこでマウスクリック(ボタン以外の所で)しても
>エラー音(キンという音)が鳴るのです
ダイアログ自体は終了できるのか? それともまったくイベントを受け付けないのか?
後者なら、モーダルなウィンドウが別に存在しないか?
182デフォルトの名無しさん:2009/04/30(木) 16:01:05
なんかエスパー(妄想)レスきたい上げって感じだな
ダイアログ生成異常って感じだな。
WM_INITDIALOGからリターンしてるのか
183デフォルトの名無しさん:2009/04/30(木) 16:02:03
case WM_INITDIALOG: // ダイアログボックスが作成されたとき
<ここに終了処理>
return TRUE;
を実行したら砂時計がでるがマウスを動かせばすくにもとに戻る。
イベントをINITDIALOG以外は今のところ受け付けない。
ウインドウは親とダイアログ以外はないようです。
184デフォルトの名無しさん:2009/04/30(木) 16:06:05
生成は CreateDialog なのか DialogBox なのか?
多分後者で生成してると思われるけど…
185デフォルトの名無しさん:2009/04/30(木) 16:11:44
質問する人間というのは、どうしてアドバイスする人間の質問にちゃんと答えられないんだろう
186デフォルトの名無しさん:2009/04/30(木) 16:12:35
184>DialogBoxで生成してます。
case WM_RBUTTONUP: // マウスの右ボタンが離されたとき
// モーダルダイアログボックスを表示する
DialogBox( g_hInst,(LPCTSTR)IDD_PROPPAGE_LARGE, hWnd,(DLGPROC)DlgProc );
return 0;
こんな感じです。
187デフォルトの名無しさん:2009/04/30(木) 16:13:31
MAKEINTRESOURCEか・・・
188デフォルトの名無しさん:2009/04/30(木) 16:13:57
182>WM_INITDIALOGからリターンしてるようです
189デフォルトの名無しさん:2009/04/30(木) 16:16:40
ウィンドウが無効になってるんだろ

> IDD_PROPPAGE_LARGE
プロパティシート用のリソースは初期設定で無効になってる
190デフォルトの名無しさん:2009/04/30(木) 16:17:58
190>有効にするにはどのようにすればいいですか?
191デフォルトの名無しさん:2009/04/30(木) 16:18:57
レスアンカーもまともに付けられないのかこの馬鹿・・・
192デフォルトの名無しさん:2009/04/30(木) 16:21:23
プロパティシート用のテンプレートを使うな
有効にするとかそういう問題じゃない

初めて使うならVisualStudioのマニュアルぐらい読めってこった
193デフォルトの名無しさん:2009/04/30(木) 16:26:30
最近、頭の悪い質問が多すぎ

新入生か新社会人か?
194179:2009/04/30(木) 17:04:21
>>176
リソースの追加
−−−−−−−
リソースの種類
+Dialog    ←@
 |IDD_FORMVIEW ←A
 |IDD_OLE_PROP.. ←A
 |IDD_PROP.. ←A
195デフォルトの名無しさん:2009/04/30(木) 17:47:44
ダイアログの種類を変更したら解決いたしました。
ありがとうございます。
196デフォルトの名無しさん:2009/04/30(木) 17:53:05
> DefWindowProc()ではなく、FALSEを返すこと!
なんだ、また例のサイトか・・・
197デフォルトの名無しさん:2009/04/30(木) 18:00:40
解説サイトを見ながら作ってて動かないならサイトの管理人に聞いてくれよ・・・

サンプルを見なくても作れるレベルになって困った時に初めてスレを利用してほしい
198デフォルトの名無しさん:2009/04/30(木) 18:24:45
いかなるロケール下でも確定的に24時間形式でシステム(ローカル)時刻を取得できる簡単な方法はないでしょうか。
SYSTEMTIME構造体が12時間形式で吐かれる環境ではGetTimeFormatを使った上で
時刻フォーマットロケール情報を精査して文字列解析するしかなさそうなのですが、非常に面倒くさいです。

宜しくお願い致します。
199デフォルトの名無しさん:2009/04/30(木) 20:22:42
>>198
SYSTEMTIMEで12時間形式はありえない(午前・午後を格納する場所がない)が、
その話ではもしかしたらGetSystemTimeAsFileTimeのほうが良いかもしれない。
200デフォルトの名無しさん:2009/04/30(木) 20:35:55
つーかSYSTEMTIMEが12時制とかどこの情報だよ
201デフォルトの名無しさん:2009/04/30(木) 21:13:31
手元のWindows95APIバイブル1では

WORD wHour; // 時.1-12または0-23(ロケールの設定による)

となっているのですが、改定があったのでしょうか?
202デフォルトの名無しさん:2009/04/30(木) 21:38:39
MSDNよりも、そんな意味不明な本を信用してるのか?
203デフォルトの名無しさん:2009/04/30(木) 21:42:09
だいたい、12時間制にしても1-12を返すとかあり得ないだろ。
エディタがwMonthかなにかと勘違いしてたんじゃないの。

それにしても、なんでそんな古い本参照してるんだよ。
確かにいい本だって言う人もいたけど、今となっては完全に時代遅れだろう。
204デフォルトの名無しさん:2009/04/30(木) 21:45:12
・Win95初期〜VC6付属SDK
> wHour
> Specifies the current hour.

・PlatformSDK 2003 R2
> wHour
> The hour (0-23).

・MSDN web
> wHour
> The hour. The valid values for this member are 0 through 23.

1-12なんて全然見当たらないが。
205デフォルトの名無しさん:2009/04/30(木) 22:36:13
サマータイムってどういう扱いだっけ?
206デフォルトの名無しさん:2009/04/30(木) 22:40:06
>>205
MSDNぐらい読め
207デフォルトの名無しさん:2009/04/30(木) 22:50:18
>>202
MSDN(日)のほうが記述量が少ないので本のほうが詳しく書いてあるのかもと思いました。
>>203-204
つまるところ誤記ということなのでしょうか。有難うございました。
208デフォルトの名無しさん:2009/04/30(木) 22:59:47
MSDN(米)を読めばいいだろが
209:2009/05/01(金) 00:47:33
Win32API質問箱 Build78
http://pc12.2ch.net/test/read.cgi/tech/1238289377/852-862
http://pc12.2ch.net/test/read.cgi/tech/1238289377/953-957
resource.h の IDD_DIALOG1 をコメントに…その前に、
リソースエディタで "IDD_DIALOG1" に名前変更しておくこと。
なお「このリソースは….rc を再度読み込みますか?」には「いいえ」で答える。
210デフォルトの名無しさん:2009/05/01(金) 00:50:55
>>209
何がしたいの?頭おかしいの?
211:2009/05/01(金) 05:59:07
久米が紹介してるDialogBox()の第2引数を「NULL で終わる文字列へのポインタを指定します。」
の場合、どうやってやるのか、書いてるけど。>>210
212デフォルトの名無しさん:2009/05/01(金) 07:37:43
日本語で
213デフォルトの名無しさん:2009/05/01(金) 08:02:39
超賤人or厨獄人か。
214:2009/05/01(金) 09:40:22
すみません、話の続きがしたかっただけなので。質問箱に相談は出来ないようですね。
Visual Studio 2005 スレに言って聞いてみます。
215デフォルトの名無しさん:2009/05/01(金) 09:43:47
正しい
216デフォルトの名無しさん:2009/05/01(金) 10:21:18
質問なのか回答なのかさえ分からんレスだな
日本語が不自由すぎだろ・・・
217:2009/05/01(金) 10:27:04
このAPIの使い方は正しいですか?
resource.h の #define IDD_ABOUTBOX nnnn がコメントのとき。
DialogBox(hInst, TEXT("IDD_ABOUTBOX"), hWnd, (DLGPROC)About);
resource.h に #define IDD_ABOUTBOX nnnn があるとき。
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, (DLGPROC)About);
218デフォルトの名無しさん:2009/05/01(金) 10:33:17
だから何で日本語が不自由なんだよ
219:2009/05/01(金) 10:34:56
名前欄の↑がキモイ
220:2009/05/01(金) 10:38:37
お前の方がキモイ
221デフォルトの名無しさん:2009/05/01(金) 12:37:08
                 r'^┐_<Xゝ
                  | 「 'ー‐′
              凵  '二二'

                  __r¬ __
                {---   ---|
                ,二コ   lニ、
                  〈  〔}  l\ \
              ` ー−┘ ヽ┘

                  ___
                     |   l ___
             ┌─‐┘  l/    l
             |           l
                ` ̄ ̄}     /l   l
                    /     l l.   l
                  /     l l    l
                 /    ,   l l   l
                /        l l.   l
               /    /'!     l l    l
             l    / l.    l l.     l
              │   ./  l.    l l   └ヘ.
               │  /    l    l l      ヽ
                l  /'    │   │ |        〉
              .レ'       l      | |      /
                  |      | |  _/
222:2009/05/01(金) 14:29:27
文字だけの掲示板で「だまれ」?
幻聴が聞こえるのか凄いな
223デフォルトの名無しさん:2009/05/01(金) 15:09:18
WinMainなウィンドウベースのアプリを作っているのですが、
デバッグとしてコンソールウィンドウを出したいのです
main関数で始める以外、何か方法ありませんか?
224デフォルトの名無しさん:2009/05/01(金) 15:13:10
AllocConsole
225デフォルトの名無しさん:2009/05/01(金) 15:13:17
AllocConsole/FreeConsole
226デフォルトの名無しさん:2009/05/01(金) 15:13:43
・WinMainCRTStartupをエントリポイントにしてコンソールに設定する
・AllocConsole()を使う(適宜freopen)
227デフォルトの名無しさん:2009/05/01(金) 15:15:08
リロードしろハゲと言おうと思ったが
30秒差ならまあいいか
228デフォルトの名無しさん:2009/05/01(金) 15:15:27
>>224-226
ありがとうございます^^

229デフォルトの名無しさん:2009/05/01(金) 16:19:41
> ・WinMainCRTStartupをエントリポイントにしてコンソールに設定する
これは間違い
230デフォルトの名無しさん:2009/05/01(金) 20:58:23
>デバッグとしてコンソールウィンドウを出したいのです
ではなく、
|デバッグとしてコンソールウィンドウに出したいのです
なら、コンソールから
WinMainなウィンドウベースのアプリ.exe >con
と叩けばよい
231デフォルトの名無しさん:2009/05/01(金) 21:11:05
コンソールなんか出さなくてもOutputDebugStringでいいだろ
232デフォルトの名無しさん:2009/05/02(土) 10:40:59
表示できないUnicode文字があるOutputDebugStringは糞
233デフォルトの名無しさん:2009/05/02(土) 13:13:40
それデバッガ側の問題じゃないのか?
234デフォルトの名無しさん:2009/05/02(土) 13:26:24
::_tsetlocale( LC_ALL, _T("japanese"));
235デフォルトの名無しさん:2009/05/02(土) 14:56:05
setlocaleが関係するのはCRT関数だけだろ
236デフォルトの名無しさん:2009/05/02(土) 18:38:27
japaneseにハードコードするとかアホだろ
何のためのunicodeなんだよ
237デフォルトの名無しさん:2009/05/02(土) 19:54:44
>>234
あほですねー
238デフォルトの名無しさん:2009/05/02(土) 20:09:15
::_tsetlocale( LC_ALL, _T(""));
239デフォルトの名無しさん:2009/05/02(土) 20:28:39
だからsetlocaleの設定はAPIには関係ないだろ馬鹿
240デフォルトの名無しさん:2009/05/02(土) 20:33:45
>>236-237
日本人以外に使ってほしくないからでしょ。
241デフォルトの名無しさん:2009/05/02(土) 20:35:13
>>240
無駄だな
242デフォルトの名無しさん:2009/05/02(土) 21:28:34
UNICODEでビルドしても
::_tsetlocale( LC_ALL, _T("japanese"));
しないと日本語でないんだけど
みんなどうしてるの?
243238:2009/05/02(土) 21:46:22
>>239 レス有難うございます。
話は変わりますが、DefWindProc()ではFALSEを返すのに、
どうしてDefChildProc()ではメッセージを処理するとTRUEなんですか?
244デフォルトの名無しさん:2009/05/02(土) 21:57:46
話が変わりすぎ

そもそもDefWindProc/DefChildProcって何だよ
お前が勝手に作った関数の事なんて知るかボケ
245デフォルトの名無しさん:2009/05/02(土) 22:02:10
>>242
CRTなんて使わない
246デフォルトの名無しさん:2009/05/02(土) 22:02:29
DefWindProc

規定の風プロシージャを呼び出して、アプリケーションが処理しない地域に対して、
春には心地よい春風を、夏〜秋には台風を、冬には北風を提供します。
247デフォルトの名無しさん:2009/05/02(土) 22:04:53
>>242
スレ違い
248デフォルトの名無しさん:2009/05/02(土) 22:09:15
> CRTなんて使わない
アホ発見
249デフォルトの名無しさん:2009/05/02(土) 22:13:37
>>248
( ´,_ゝ`)プッ…
250デフォルトの名無しさん:2009/05/02(土) 22:17:46
CRT使わないとか馬鹿だな
251デフォルトの名無しさん:2009/05/02(土) 22:25:45
CRT使ってるのか?馬鹿じゃね。いまはLCDだろ
252デフォルトの名無しさん:2009/05/02(土) 22:26:36
つまんね
253デフォルトの名無しさん:2009/05/02(土) 22:26:52
↓プラズマはあり得ない
254243:2009/05/02(土) 22:31:14
「WindowProcはプレースホルダーであり、実際にこの関数名を使う必要はありません。」
255デフォルトの名無しさん:2009/05/02(土) 22:39:08
>>254
何言ってんの?頭大丈夫?
256デフォルトの名無しさん:2009/05/02(土) 22:40:04
話は変わりますが、ああああ()ではFALSEを返すのに、
どうしていいいい()ではメッセージを処理するとTRUEなんですか?
257デフォルトの名無しさん:2009/05/02(土) 22:40:46
パナソニックはプラズマ増産に転じたんだぜ。
258デフォルトの名無しさん:2009/05/02(土) 22:42:33
プラズマは陽光柱発光できないと、ストーブだしな
OLEDはトリプレット発光できないときびしいぉ
コレステリック液晶、カイラルネマティック液晶で省電力でもいいが制御むずいぉ
白黒なら電気泳動ディスプレイのE-Inkでも良いんじゃね
259デフォルトの名無しさん:2009/05/02(土) 22:46:09
allocconsoleは最初から非表示で作れないですか?
260デフォルトの名無しさん:2009/05/02(土) 22:47:45
はあ?
261デフォルトの名無しさん:2009/05/02(土) 22:49:43
DialogBox()の第2パラメータの件はわかりますか?
262デフォルトの名無しさん:2009/05/02(土) 22:51:59
ググレカス
263デフォルトの名無しさん:2009/05/02(土) 23:00:24
GW中はいつもの目覚まし基地外スレで良いだろ
まともなのはどっかに遊びに逝ってるだろうからな
大荒れになっても良いじゃないか、インフルかかるよりははるかにイイだろ

>>262
ググレカス じゃないだろ ググレ目覚まし だ。
264デフォルトの名無しさん:2009/05/02(土) 23:02:52
インフルかかった奴が荒らしてたりして
265デフォルトの名無しさん:2009/05/02(土) 23:03:57
目覚ましウィルスだろJK
266デフォルトの名無しさん:2009/05/02(土) 23:08:04
Trojan.Win32.AlarmClock

通称目覚まし
267デフォルトの名無しさん:2009/05/02(土) 23:13:33
ウィルスなんて言ったら失礼だろ、ウィルスに。
荒らすヤツは寄生虫で十分。
268デフォルトの名無しさん:2009/05/02(土) 23:15:51
寄生虫は役に立つこともあるんだぞ
269デフォルトの名無しさん:2009/05/02(土) 23:16:17
ウイルスに冒されるか寄生虫と過ごすか....
共生できるの寄生虫のほうだろ
270デフォルトの名無しさん:2009/05/02(土) 23:24:53
と、寄生虫たちが申しております
271いえから:2009/05/03(日) 14:09:58
今、猫SDKの「第30章 モードレス・ダイアログボックス 」をやっているんですが、
ぜんぜん駄目です。なんとかなりませんでしょうか?
一応、こうするとウインドウは出るようになったんですが、(DLGPROC)MyDlgProc にメッセージが行っていません。
wc.cbWndExtra = DLGWINDOWEXTRA; /* Window extra byted needed for private dialog classes. */
272デフォルトの名無しさん:2009/05/03(日) 14:11:04
解説サイト見て分からなかったらサイトの管理人に聞けつってるだろ
273デフォルトの名無しさん:2009/05/03(日) 14:13:41
こういう馬鹿は "ググレカス" 以前だな
274いえから:2009/05/03(日) 15:59:53
すみませんでした、質問を替えます。CreateDialog()がエラーを返すのはどんな時でしょうか?
hDlgWnd = CreateDialog(hInst, TEXT("MYDLG"), hWnd, (DLGPROC)MyDlgProc);
275デフォルトの名無しさん:2009/05/03(日) 16:06:46
だから粂井に聞けよ
276デフォルトの名無しさん:2009/05/03(日) 16:09:08
次スレから

>解説サイトを見ながら作ってて動かないならサイトの管理人に聞きましょう

をテンプレに入れとくべき。
277デフォルトの名無しさん:2009/05/03(日) 16:22:30
何がどうだめなのか、エラーコードもGetLastErrorもやってないのか。
せめて自分がやった手順くらい書けよ。
どうせMYDLGがresource.hあたりでdefineされてるって落ちじゃないの?
MAKEINTRESOURCE(MYDLG)
278デフォルトの名無しさん:2009/05/03(日) 16:22:58
なんか愚にもつかない質問ばかりだと思ったら、「猫」の30章でこんなコトしてるせいか。
完全にサイトの説明不足だな、こりゃ。

hDlgWnd = CreateDialog(hInst, "MYDLG", hWnd, (DLGPROC)MyDlgProc);
279デフォルトの名無しさん:2009/05/03(日) 16:37:51
だからこそこんな所で質問しないでサイト管理人にメールすべきだろ。
サイトの説明が間違ってる可能性だってあるのだからな。
280デフォルトの名無しさん:2009/05/03(日) 16:45:50
最近「○○のサイトで××が分かりません」といったアホな質問が多すぎ
Win32APIブームでも来てるのか?
281デフォルトの名無しさん:2009/05/03(日) 16:53:33
質問者が初級者ってのは解るが、
結局、お前らって猫プログラムすらデバッグできないレベルなのか
連休中にこんなスレに居るんだからな。推して知るべしだな
質問者は連休中勉強してるってのに、お前らは基地ってるのか。俺とおなじだな
by 目覚まし
282デフォルトの名無しさん:2009/05/03(日) 16:55:42
>>281
0点
283デフォルトの名無しさん:2009/05/03(日) 16:56:32
目覚ましなら.NETというワードは必須
284デフォルトの名無しさん:2009/05/03(日) 16:57:08
           . ィ
._ .......、._    _ /:/l!
 :~""''.>゙' "~ ,、、''‐'、|         _
゙、'、::::::ノ:::::::_,.-=.  _〜:、         /_.}'':,
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙
285デフォルトの名無しさん:2009/05/03(日) 16:58:58
Trojan.Win32.AlarmClock
通称「目覚ましウィルス」

・破壊活動
目覚ましと時計(MP3ネットラジオ付)をインストール
2chのWin32スレ等で荒らし行為

・駆除方法
PCをぶっ壊す
286デフォルトの名無しさん:2009/05/03(日) 17:04:08
先生は豚対策で忙しいんだからな
287いえから:2009/05/03(日) 18:01:54
解決しましたのでお知らせします。(^(00)^)
CLASS "mdless01"
ーーあと詳細ーー
VC6のみで、VS2005では削られた機能のようです。
リソース→プロパティ→MFC→OFF
リソース→ダイアログ→プロパティ→クラス名指定
リソース→プロパティ→MFC→ON
リソース→ダイアログ→プロパティ→クラス名が見えなくなっていました。
もう一度
リソース→プロパティ→MFC→OFF
リソース→ダイアログ→プロパティ→クラス名消去
288↑誰?:2009/05/03(日) 18:10:13
289いえから:2009/05/03(日) 18:15:49
T-Matsuo Win32工作小屋(win32lab.com) このサイトです。
290デフォルトの名無しさん:2009/05/03(日) 18:19:35
>>289
二度と来るなアホ
291デフォルトの名無しさん:2009/05/03(日) 18:21:39
ただのキチガイか
292デフォルトの名無しさん:2009/05/03(日) 19:52:48
相変わらずこのスレ腐ってんな
腐ってるヤツの集まりだから無理もないが
293デフォルトの名無しさん:2009/05/03(日) 20:24:08
腐ってるのはお前だけ
294デフォルトの名無しさん:2009/05/03(日) 20:53:54
幻想を打ち砕くような事言っちゃ駄目!
295デフォルトの名無しさん:2009/05/03(日) 21:41:31
>>292
このスレは全く腐ってはいない。これが正常だ
お前は>>293の言うように腐りきってるな
腐ったのは来るなよ。スレが腐る
296デフォルトの名無しさん:2009/05/04(月) 08:44:09
納豆みたいなスレ
297デフォルトの名無しさん:2009/05/04(月) 15:36:39
見かけは悪いが超良いスレってことか
298デフォルトの名無しさん:2009/05/04(月) 15:52:00
粘着系の荒らしが多いスレ
299デフォルトの名無しさん:2009/05/04(月) 16:04:11
お前がな
300デフォルトの名無しさん:2009/05/04(月) 16:07:44
いや、お前だろ
301デフォルトの名無しさん:2009/05/04(月) 16:15:57
オレオレ
302デフォルトの名無しさん:2009/05/04(月) 16:16:43

            /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   細けぇ事はいいじゃねぇか!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /

303デフォルトの名無しさん:2009/05/04(月) 23:05:04
なんか荒れてるようだけど質問
VC++EEでつくってるのでリソーススクリプトを手書してるんだけど・・・
メニューをつくるとき、例えば

MENUITEM "終了(&X)",  IDM_END

というのがあって、識別子をヘッダファイルresource.hで

#define IDM_END  101

のように定義して、ウィンドウプロシージャでなんらかの動作をするように指示
そしてコンパイルして実行すると、指示したとおりの動作をする
ここまではいいんだけど

その後、resource.hの中身を

#define IDM_END  110

という感じに変更して、後は何もさわらずに再びコンパイル→実行
するとなぜかメニューで選択しても反応しなくなるのはどうして?
304デフォルトの名無しさん:2009/05/04(月) 23:08:37
スレ違い
VC++スレ行けボケ
305デフォルトの名無しさん:2009/05/04(月) 23:14:34
リビルドという言葉を知らないらしい
306デフォルトの名無しさん:2009/05/04(月) 23:14:46
解説サイトの疑問を質問
スレ違いなVC++の質問


こんなのばっかだな・・・
「ググレカス」で片付く質問がマシに思えるほど酷い
307デフォルトの名無しさん:2009/05/04(月) 23:14:55
>>304
そうか
Win32APIのことだからこっちでいいかと思ったんだけど

じゃあおとなしくVC++スレに行くわ
308デフォルトの名無しさん:2009/05/04(月) 23:15:31
リソースのどこが API なんだと。
309デフォルトの名無しさん:2009/05/04(月) 23:19:21
APIの意味を分かってないのだろ
「Windowsで開発していて分からないときにとりあえず質問するスレ」ぐらいの認識でしょ
310デフォルトの名無しさん:2009/05/04(月) 23:21:01
もしくは、Win32 プロジェクト = Win32 API だとでも思ってるのかね。
311デフォルトの名無しさん:2009/05/04(月) 23:21:10
>>305
ありがとう

正直くだらんことを聞いてすまなかった
>>309に指摘されたとおりだわ

もっと根本的なことを勉強しておくよ・・・
312デフォルトの名無しさん:2009/05/04(月) 23:23:49
ここは初心者質問スレじゃないから。

>>276と初心者スレへの誘導をテンプレに明記しないといけないぐらいスレのレベルが下がったのか?
313デフォルトの名無しさん:2009/05/04(月) 23:26:09
>>309 馬鹿なこと言うなよ
それなら、VB、C#やクロスコンパイルの質問もくるだろ
C(C+)でWindowsプログラミング = apiじゃないのか
C++になるとMFCのほうあたりって認識じゃね
314デフォルトの名無しさん:2009/05/04(月) 23:26:10
もうスレタイに【初心者厳禁】って入れるぐらいじゃないとダメだろ。
315デフォルトの名無しさん:2009/05/04(月) 23:28:45
【基地外、目覚まし専用】の方が良い
316デフォルトの名無しさん:2009/05/04(月) 23:37:02
C と C+ と C++ があんのかよw
317デフォルトの名無しさん:2009/05/04(月) 23:45:49
>C(C+)でWindowsプログラミング = apiじゃないのか
>C++になるとMFCのほうあたりって認識じゃね

なんちゅう認識だ、まったく。
318デフォルトの名無しさん:2009/05/04(月) 23:56:07
【荒らし専用】でも可
319デフォルトの名無しさん:2009/05/05(火) 00:17:39
>>313
こいつは本物の目覚ましだな。間違い無い。
320デフォルトの名無しさん:2009/05/05(火) 00:19:55
やっぱ本物は凄いなw
321デフォルトの名無しさん:2009/05/05(火) 00:23:09
>>313
初心者ですが、C+ という言語でAPIを使用する方法を教えてください。
よろしくお願いします。
322デフォルトの名無しさん:2009/05/05(火) 00:29:50
C+ = Clock+

「目覚ましと時計」専用のマクロ言語だ。

マクロ言語と言っても侮る無かれ。
C#に匹敵する強力なオブジェクト指向・メタプログラミングが可能で、
Win32APIコールやインラインアセンブラの記述にも対応している。
またJITコンパイラの性能は素晴らしく、実行速度はC/C++に匹敵する。

という事にしておこう。
323デフォルトの名無しさん:2009/05/05(火) 00:33:06
もうだめだこのスレ
324デフォルトの名無しさん:2009/05/05(火) 00:39:25
ダメなのはスレじゃなくて目覚ましの馬鹿が粘着してること
325デフォルトの名無しさん:2009/05/05(火) 00:42:23
>>322
目覚まし言語って超凄すぎ
>実行速度はC/C++に匹敵する。
はCより速いだろw
326デフォルトの名無しさん:2009/05/05(火) 00:47:16
目覚まし先生によると C と C+ 以外はスレ違いだそうです。
327デフォルトの名無しさん:2009/05/05(火) 00:53:47
で、結局目覚まし本人は逃げたか
墓穴掘って逃げるぐらいなら来るなよ
328デフォルトの名無しさん:2009/05/05(火) 11:06:18
は?
329デフォルトの名無しさん:2009/05/05(火) 11:15:37
ひ!
330デフォルトの名無しさん:2009/05/05(火) 11:19:14
C+ という言語でAPIを使う方法を早く教えてよ
331デフォルトの名無しさん:2009/05/05(火) 15:00:53
Win32APIが滅びるのとこのスレが消滅するのどっちが早い?

なんかこのスレのが長持ちしそうなんだが
332デフォルトの名無しさん:2009/05/05(火) 16:09:43
>>331
そんな事どうでもいいだろクズ
333デフォルトの名無しさん:2009/05/05(火) 23:15:43
allocconsoleしてからshowwindowで非表示にすると、
コンソールがちら見えするんですけど、
最初からallocconsoleで非表示にはできないんでしょうか?
334デフォルトの名無しさん:2009/05/05(火) 23:38:35
非表示のコンソールをわざわざAllocConsoleって何の意味が……
335デフォルトの名無しさん:2009/05/06(水) 03:40:16
>>259
コイツまだ言ってるのかw
しかもやってる事が馬鹿丸出し
336デフォルトの名無しさん:2009/05/06(水) 13:10:20
使う時にAllocじゃだめなん?
337デフォルトの名無しさん:2009/05/06(水) 14:33:26
やってる事が矛盾してるしネタだろ
338デフォルトの名無しさん:2009/05/06(水) 14:59:49
貴様ら、ここ基地街だな
339デフォルトの名無しさん:2009/05/06(水) 15:50:47
日本語でおk
340デフォルトの名無しさん:2009/05/06(水) 16:24:38
わからないならレスしないでください
341デフォルトの名無しさん:2009/05/06(水) 16:35:29
また目覚ましか
とりあえず C+ という言語について回答しろよ
342デフォルトの名無しさん:2009/05/06(水) 18:32:46
343デフォルトの名無しさん:2009/05/06(水) 18:37:23
そもそもコンソールウィンドウが要らないならAllocConsoleしなければ解決するのに
アホですか?
344デフォルトの名無しさん:2009/05/06(水) 18:40:49
>アホですか?
んなこと訊かんでもわかるだろ
345デフォルトの名無しさん:2009/05/06(水) 18:42:35
アホか天才かわからなかったから訊いたんだよ
346デフォルトの名無しさん:2009/05/06(水) 18:48:36
わからないならレスしないでください
347デフォルトの名無しさん:2009/05/06(水) 18:52:00
348デフォルトの名無しさん:2009/05/06(水) 18:53:26
C+ 言語が説明できないなら金輪際レスしないでください
349デフォルトの名無しさん:2009/05/06(水) 19:04:19
C#が分らないなら金輪際レスしないでください
350デフォルトの名無しさん:2009/05/06(水) 19:06:28
>>349=>>313
悔しくて顔が真っ赤になってる目覚まし君w
351デフォルトの名無しさん:2009/05/06(水) 19:13:37
・ 学校で習って少しだけC言語の知識があるプログラマ気取りの学生
・ C++やWin32の知識は無いに等しい
・ ●持ち

詳しくは>>313と前スレ900前後を読みませう
352デフォルトの名無しさん:2009/05/06(水) 19:18:29
学生が●買えんのか?クレカ要るんじゃなかったっけ
353デフォルトの名無しさん:2009/05/06(水) 19:43:17
むしろ社会人より学生の方がクレジットカードは審査通りやすい
354デフォルトの名無しさん:2009/05/06(水) 20:23:16
質問です

Mutexって同時作成数に限界はありますか?
どうも多量に作成したときに後半に作成した分が機能していないようなので……
355デフォルトの名無しさん:2009/05/06(水) 20:32:30
!NULL = CreateMutex
である限りは限界じゃねーと思うがな
356デフォルトの名無しさん:2009/05/06(水) 20:32:55
間違えたA!=B
357デフォルトの名無しさん:2009/05/06(水) 20:37:36
>>354
WaitForMultipleObjectsの最大同時待機数(64)に
引っかかっている予感。
358デフォルトの名無しさん:2009/05/06(水) 20:47:13
なんでそんな多量にMutexが必要なんだよ。
プログラムの設計を見直した方がいいと思うが。
359デフォルトの名無しさん:2009/05/07(木) 03:01:01
多量に使う理由は教える必要のある情報ではないはずですが、はしょって説明すると多重起動時のファイル処理関連の制御に使ってます。
ファイルそのものをロックするわけにはいきません。
またこの質問自体は技術的興味の側面が強いので、この件に関する代替案(>>358みたいなもの含む)は必要ありません。

64制限は確認してみますね。 実はCMutexを使ってるので内部でSingleとMultiどっち使ってるか知らなかったり。 まずそうなら自作クラスに置き換えようかと思います。

待ち以外に、例えば(PCの性能は考えない、仕様的な意味で)作成出来るハンドル数には限界があるでしょう?
360デフォルトの名無しさん:2009/05/07(木) 03:21:20
> 多量に使う理由は教える必要のある情報ではないはずですが

> この件に関する代替案(>>358みたいなもの含む)は必要ありません。

ゾクゾクするわあ
361デフォルトの名無しさん:2009/05/07(木) 03:38:13
それぐらい自分で調べろよ・・・

態度でかい癖に自分一人では何も出来ないんだな
362デフォルトの名無しさん:2009/05/07(木) 03:44:03
>>359
mjkt
363デフォルトの名無しさん:2009/05/07(木) 06:10:34
仕様(制限) = メモリやらリソースの許す限り

ってのが結構多い MS 製品。
364デフォルトの名無しさん:2009/05/07(木) 07:39:28
>>360-362
どんだけ煽り耐性低いんだよ……

耐性低いの知っててやってるんだけどさ。
365デフォルトの名無しさん:2009/05/07(木) 16:18:24
KB969933とか
366デフォルトの名無しさん:2009/05/07(木) 16:48:47
限界を気にするのは素人か馬鹿
367デフォルトの名無しさん:2009/05/07(木) 19:10:12
よくわからんけど
今時、メモリ容量とか
気にせず作るべきな気がする
動かないわけじゃないし、
最適化は後からでもいいしやらなくてもいい

気にしすぎたら作れなくなってしまうよ
368デフォルトの名無しさん:2009/05/07(木) 19:33:05
CodeReadingでもベンチマークは完成してからやれっていってたなあ
369デフォルトの名無しさん:2009/05/07(木) 19:55:57
そもそも理論上の上限なんて知らなくていいんだよ
370デフォルトの名無しさん:2009/05/07(木) 20:02:00
まともなプログラムを書けない奴に限って「〜の上限は?」みたいな質問するよなw
371デフォルトの名無しさん:2009/05/07(木) 20:07:30
>>359はPCに依存するようなものは考えないと言ってるように見えるんだけどなんでメモリの限界がどうのこうの言ってるの?

8ギガ分のメモリ積んでも4ギガ分しか使えないとかそういう話だよな?

でミューテックスにはそういう仕様的限界は無いからメモリの許す限り使えますってことだけどWaitFor〜は64個までしか同時には面倒みませんよってだけだよな?


俺の理解がおかしいのだろうか……
372デフォルトの名無しさん:2009/05/07(木) 20:44:41
正常に動作しないと自分の書いた糞コードよりも処理系やOSのバグor限界を疑う
373デフォルトの名無しさん:2009/05/07(木) 20:49:09
つーかCMutexとか言ってる時点でスレ違いだろ
374デフォルトの名無しさん:2009/05/07(木) 22:27:04
ごめん、どこで聞いたら良いのか判らんからここに投下
もっと良いスレあったら、誘導してください

Windows7がRCでてるんだけど、噂のXp互換モード?なるものがある
っていうことは、Win32APIは通らないって事?

まったくだめなの?
それとも、通るのもあるけど、通らないのもあるの?
下位換性は、ないと考えていいの?

そのへん知ってる人いたら教えてくれ〜

375デフォルトの名無しさん:2009/05/07(木) 22:29:48
笑い飛ばせばいい質問なのか、これは
376デフォルトの名無しさん:2009/05/07(木) 22:47:48
触るなバカ
377デフォルトの名無しさん:2009/05/07(木) 23:23:34
>>374
いや、基本的には過去のAPIとの互換性は保たれている

ただ、Windows7とXPとの間のちょっとした仕様の違いが、たまにソフトの動作を妨げる事があるらしい
だが、ほとんどのソフトは互換モードを使わなくてもそのまま動く
企業等、XPとの完全な互換性を要求する場面での需要に答えたのが、このモード
378デフォルトの名無しさん:2009/05/07(木) 23:27:07
ってことは、再コンパイルでOK?
379デフォルトの名無しさん:2009/05/07(木) 23:30:56
触った結果がこれだよ
380デフォルトの名無しさん:2009/05/07(木) 23:44:25
もうだめだこのスレ
381デフォルトの名無しさん:2009/05/07(木) 23:51:33
7RCよりVista用Hotfixにアホが大量に群がっている件の方が興味深い
382デフォルトの名無しさん:2009/05/07(木) 23:56:45
>>378
もちろん、再コンパイルしなくても動く。

それに、運悪く7で動かない事態に遭遇したとしても、
まともにデバッグして直すなり互換モード・XPモードを試すなりが先決。

>>374
そもそも、それを試すのがβやRCをタダで配っている理由なんだから、
少しは聞く前に自分で試せ。
383デフォルトの名無しさん:2009/05/08(金) 04:08:06
だから触るなつってるだろ

>>382 こういうアホが一番ウザイ
本人は親切のつもりか知らんが
384デフォルトの名無しさん:2009/05/08(金) 05:19:58
Windowsのデバドラにクラスバスコヒュースを使用して、
そこから全66611111111999EF Rにオリジナルアセンブラを介入
するよ?
385デフォルトの名無しさん:2009/05/08(金) 08:21:36
>>383
いや、親切心は微塵もない

ただ、『初心者うざい』がうざいから
代わりに答えているだけ
386デフォルトの名無しさん:2009/05/08(金) 08:37:05
> ただ、『初心者うざい』がうざいから
> 代わりに答えているだけ

ただ、『荒らしうざい』がうざいから
代わりに構ってるだけ


と言ってるようなもの
阿呆は来なくていいよ
387デフォルトの名無しさん:2009/05/08(金) 19:37:17
VS6で、TOOTIPの表示時間(秒数)を設定したいときどうすればいい?
388387:2009/05/08(金) 19:39:09
×TOOTIP
○TOOLTIP
389デフォルトの名無しさん:2009/05/08(金) 19:55:55
>>387
.NETならToolTipクラスのInitialDelayで、ツールチップが表示されるまでの時間をミリ秒で指定できる
APIを直接操作しているのであれば、
API等を使って自分の都合のいいタイミングにToolTipを出すようにWindow Messageを投げるしかないかと

詳しくはGoogleで『ToolTip 時間 指定』を検索
http://www.google.co.jp/search?hl=ja&q=ToolTip%E3%80%80%E6%99%82%E9%96%93%E3%80%80%E6%8C%87%E5%AE%9A&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
390デフォルトの名無しさん:2009/05/08(金) 21:07:40
QueryPerformance系のAPIを使用して
マイクロ秒単位で計算したいのですが

単純に
QueryPerformanceFrequency( &freq );
QueryPerformanceCounter( &before );
処理
QueryPerformanceCounter( &after );

ans = (double)((nAfter.QuadPart - nBefore.QuadPart) / nFreq.QuadPart);


でいいのでしょうか?
391デフォルトの名無しさん:2009/05/08(金) 21:17:21
DWORD dwAns = (DWORD)((nAfter.QuadPart - nBefore.QuadPart) * 1000 / nFreq.QuadPart);
392デフォルトの名無しさん:2009/05/08(金) 21:18:52
>>391
390じゃないけどそれマイクロ秒?
393デフォルトの名無しさん:2009/05/08(金) 21:20:22
すまそ、ミリ秒にしてたわ
394デフォルトの名無しさん:2009/05/08(金) 21:28:18
>>389
「vs6」で言ってるのに、その日本語の意味がわからないのかな。
ようするに、APIでの質問なんだから、知っていれば、API名とパラメータの
渡し方を教えればいいんだろ。ここは「.NET」のスレじゃなく「API」の
スレなんだよ。

俺は知らないが。たぶん、↓のどれかを使うんだろうが、どれを使うのか、
パラメータの「きまり」はどうなってるのかまでは、は知らない。

http://sky.prohosting.com/lwtemp/tut/intermediate/apinag.html
395390:2009/05/08(金) 21:31:38
QueryPerformanceFrequency( &linFreq );
QueryPerformanceCounter( &linBefore );
while ( 1 )
{
Sleep( 0 );
QueryPerformanceCounter( &linAfter );

printf( "micro second;[%lf]\n", (double)((linAfter.QuadPart - linBefore.QuadPart) * 1000000 / linFreq.QuadPart) );
}


マイクロ秒算出はこんな感じでOKなんでしょうか?
396デフォルトの名無しさん:2009/05/08(金) 21:54:16
そんなのSleep(1000);とか挟んでやれば、大まかにでも試せるだろ。
397デフォルトの名無しさん:2009/05/08(金) 22:39:15
doubleへの変換が無意味だ
398デフォルトの名無しさん:2009/05/08(金) 23:16:48
>>391に DWORD dwAns = (DWORD)( ってあるのになあ
399デフォルトの名無しさん:2009/05/08(金) 23:33:11
変換が無いと小数点以下切り捨てられちゃわない?
と思ったけど括弧の位置が変だった
400デフォルトの名無しさん:2009/05/09(土) 00:29:30
>>399
QueryPerformanceFrequencyってマイクロ秒までじゃなかったっけ?
401デフォルトの名無しさん:2009/05/09(土) 01:50:39
そうだよ。だから、マイクロ秒単位で計算したいなら小数点などつかないんだがね
402デフォルトの名無しさん:2009/05/09(土) 18:35:33
(double)無しで試したら全部0になるぞハゲ
__int64はprintfの%lfじゃ表示されないみたいだぞ(VS2008EEにて)
403デフォルトの名無しさん:2009/05/09(土) 18:46:59
int は %f ではなく %d だし、_int64 は %lf ではなく %I64d。
404デフォルトの名無しさん:2009/05/09(土) 19:04:14
>>402
何この馬鹿・・・
405デフォルトの名無しさん:2009/05/09(土) 19:11:10
Win32以前にC言語をわかってない奴が何故スレに居るのかねぇ
406デフォルトの名無しさん:2009/05/09(土) 19:15:53
API スレだから。
407デフォルトの名無しさん:2009/05/09(土) 19:27:55
C言語分からん奴はAPIなんてロクに使えんだろ
一体、何の情報を求めてスレ見てるんだろう
408デフォルトの名無しさん:2009/05/09(土) 20:27:47
>>402
wwwwwwwwwwwwwwwwwwwwwwwwwwww
409デフォルトの名無しさん:2009/05/09(土) 20:32:35
410デフォルトの名無しさん:2009/05/09(土) 20:34:14
酷いなお前ら
よってたかって
411デフォルトの名無しさん:2009/05/09(土) 20:36:02
412デフォルトの名無しさん:2009/05/09(土) 21:03:09
>>402はハゲどころか脳味噌までも無いのかw
413デフォルトの名無しさん:2009/05/09(土) 21:09:01
KANIMISO64
414デフォルトの名無しさん:2009/05/09(土) 21:43:54
APIのprintfもどきは何?
415デフォルトの名無しさん:2009/05/09(土) 21:52:57
wsprintf
416デフォルトの名無しさん:2009/05/09(土) 22:02:59
Oーーーーっ、ありがと
で、APIとCライブラリに同じような関数あった場合
どっちを使ったほうがWindowプログラム的には良い? やっぱりAPIのほう
417デフォルトの名無しさん:2009/05/09(土) 22:15:12
どっちも使えるなら好きすればとしか言いようがない。
せいぜいwsprintfと対比するなら_stprintfだろと言うくらい。
418デフォルトの名無しさん:2009/05/09(土) 22:21:38
いや、StringCchPrintfだな
419デフォルトの名無しさん:2009/05/09(土) 22:30:50
実はCライブラリ関数はAPIを呼び出しているってことないの?
同じような動作でも、スピード、サイズ等でAPIの方が良いとかないの?

wsprintfってsprintfもどきだったよ
420デフォルトの名無しさん:2009/05/09(土) 22:32:42
>>419
ない
421デフォルトの名無しさん:2009/05/09(土) 22:40:07
>>416
ものによる、としか。
POSIXに合わせて一応用意したような関数だと、API呼び出したほうが早いな。
逆にメモリを確保するのにHeapAllocとかは時間の無駄。
wsprintfは悪くないけど、今なら_sntprintf_sとか使ったほうが良いかもね。
ATL使えるならCStringT一択だけど。あれは便利すぎる。

>>418
strsafeは結局一度も使わなかったな。
http://msdn.microsoft.com/ja-jp/library/ms995353.aspx
http://msdn.microsoft.com/ja-jp/library/bb905487.aspx
二年で旧友扱いかよw
422デフォルトの名無しさん:2009/05/09(土) 22:46:26
昔はCRTを排除してモジュールを小さくする需要もあったのだろうが、
今は気にするほどのことはないだろ。

ちなみに、wsprintfは細かい修飾や浮動小数点数、古いのだと%pに対応していない。

速さならCRTが勝る。
strcpyとかインライン展開されるし。
あと、WinAPIのlstr系はstr系と違って入力側の引数がヌルでも平気だとか細かい違いがあった気がする。
423デフォルトの名無しさん:2009/05/09(土) 22:48:53
>>421
今のVCのmalloc系はHeapAlloc丸投げだよ
424デフォルトの名無しさん:2009/05/09(土) 23:10:43
wsprintf() って不動小数点数扱えたっけ?
425デフォルトの名無しさん:2009/05/09(土) 23:10:51
>>423
>>421を加味すると
HeapAllocとかは時間の無駄なんだが、でもmalloc系はHeapAlloc丸投げなんだよで
あいやーーーになるんだけど...

おら、reallocを頻繁に使ってるんだけど(free()+malloc()より高速動作期待)、
この場合はどのAPIを使ったほうが良い?
426デフォルトの名無しさん:2009/05/09(土) 23:22:31
std::vector
427デフォルトの名無しさん:2009/05/09(土) 23:31:19
_alloca
428デフォルトの名無しさん:2009/05/09(土) 23:34:26
malloc/realloc/freeを使っとけばいいだろ
デバッグビルドだとメモリリークチェック入るし
429デフォルトの名無しさん:2009/05/09(土) 23:40:18
strsafeはEx系の関数が便利で使ってる
null位置のポインタと残りバッファ長を返してくれるし
430デフォルトの名無しさん:2009/05/10(日) 02:24:22
>>475前半
いや、昔のHeapAllocは遅かったらしい。
でその頃のVCのmallocは独自に管理していたという次第。

VCもWindowsもMSが作るんだから、
mallocよりHeapAllocを改良(でmallocもそれを使う)
というのは不思議でもない発想だろう、というのはNyaRuRuの受け売りだが。
431デフォルトの名無しさん:2009/05/10(日) 02:46:15
不思議でもなんでもないというか、むしろ自然で合理的だわな。
432デフォルトの名無しさん:2009/05/10(日) 02:56:57
>>430
昔はHeapAllocに丸投げしてたのをVC4から自前管理するようになった
VC6からOSがNT5以降ならHeapAllocに丸投げするように戻っただけ

遅いとかは関係ない。
433デフォルトの名無しさん:2009/05/10(日) 04:00:06
HeapAllocを改良した結果small-block heapが不要になったので使わなくなっただけでしょ
NyaRuRuの言うメモリアロケータの統合云々は飛躍しすぎだと思う
434デフォルトの名無しさん:2009/05/10(日) 10:36:27
WriteFile()のFILE_FLAG_NO_BUFFERINGフラグに関して教えてください。
WriteFile()をFILE_FLAG_NO_BUFFERINGフラグ付きで実行していますが、
書込むバイト数が32MBまでは問題ありませんが、64MBにするとWriteFile()が失敗します。
FILE_FLAG_NO_BUFFERINGフラグ付きの場合は何か制限があるのでしょうか?
FILE_FLAG_NO_BUFFERINGフラグを外すと64MBで512MBでも問題ありませんでした。
実際の運用では8MB程度を予定していますが実験中に上記問題が発生し自分では解決出来ませんでした。
何かアドバイス頂けると助かります。

ソースです。エラー処理は全部削除してあります。
DWORD BUF_SIZE = 1024*1024*64; ←32ならOK、64にするとWriteFileでエラーが発生する。
pBuffer = GlobalAlloc( GPTR, BUF_SIZE );
// pBuffer = VirtualAlloc( NULL, BUF_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE );

fp = CreateFile( FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN | FILE_FLAG_NO_BUFFERING, NULL );
  if( !WriteFile( fp, pBuffer, BUF_SIZE, &Rb, NULL ))
{
〜〜ここでエラーが発生する〜〜
return;
}
435デフォルトの名無しさん:2009/05/10(日) 10:50:52
失敗時のエラーコードは?
GetLastError()とか呼んでる?
うちじゃ失敗しないから確認できないな
436デフォルトの名無しさん:2009/05/10(日) 10:59:22
HDD のキャッシュサイズを超えてるとか?
437デフォルトの名無しさん:2009/05/10(日) 11:17:01
http://msdn.microsoft.com/ja-jp/library/cc429198.aspx にある
FILE_FLAG_NO_BUFFERING
のすべての条件を満たしているのか?

 
438434:2009/05/10(日) 11:43:49
皆さんアドバイス有り難うございます。

>>435

GetLastError()は呼んでませんでした。
これから確認します。

>>436
そういう制限があるのでしょうか?
HDDのバッファサイズは16MBです。

>>437
一応そのつもりです。
1,2番の条件はセクタサイズ512なのでOkです。
3番目の条件もOKなはずです。
VirtualAlloc()を使用してもGlobalAlloc()でも同じ結果でした。
439デフォルトの名無しさん:2009/05/10(日) 11:53:36
CreateFile FILE_FLAG_NO_BUFFERING
でググってみ。書き込み時に失敗するという記事がいくつかヒットするぞ
440434:2009/05/10(日) 12:00:32
GetLastError()は「アクセスが拒否されました。」でした。
もう少し調べてみます。
441デフォルトの名無しさん:2009/05/10(日) 13:07:15
>>434
FILE_FLAG_NO_BUFFERINGを使うときには、HDDの性能をもろに受けるから
そういうもんだと思うしかない。
15000rpm SASとかだと限界がもう少し上だったりする。(RAIDボード、SASカード性能の影響も受けるが)

そもそも、なぜ、FILE_FLAG_NO_BUFFERINGフラグを付けたいんだ?
きちんと理由があるのか?
なんとなくとか、汎用的にっていうのなら、やめとけ。
場合によってはFILE_FLAG_WRITE_THROUGHで事足りる。
442434:2009/05/10(日) 14:20:58
>>441

外部から20MB/sで送られて来るデータを欠損なしでHDDに書き込まなくてはいけないんです。
約20分なので24GB程のデータ量です。
HDDに書き込まずに届いたデータをメモリ上で読み捨てると問題無いのですが、
HDDに書き込むとHDDの速度が足りずにデータ抜けが発生してしまいます。
その為できる限り早くHDDに書込みしたいと考えています。

エラーがでない32MB単位で速度を測定してみましたが、
FILE_FLAG_WRITE_THROUGHに対してFILE_FLAG_NO_BUFFERINGの方が2倍以上早いです。
汎用的な事も考えないといけないし難しいですね・・・
webを見回しても、FILE_FLAG_NO_BUFFERINGや非同期I/O、CreateFileMapping等色々あり
ケースバイケースで変わるって事なんですね。
443デフォルトの名無しさん:2009/05/10(日) 14:36:48
なんか色々と勘違いしてるな・・・
444デフォルトの名無しさん:2009/05/10(日) 14:45:08
シーケンシャルで20MB/sでないとかどんなHDDだよ。別の問題だろ。
445デフォルトの名無しさん:2009/05/10(日) 15:15:15
>>442

>HDDに書き込まずに届いたデータをメモリ上で読み捨てると問題無いのですが、
>HDDに書き込むとHDDの速度が足りずにデータ抜けが発生してしまいます。

ようわからん。
>443 の言うとおりで色々勘違いしているんじゃまいか。
446デフォルトの名無しさん:2009/05/10(日) 15:20:47
>>442
FILE_FLAG_WRITE_THROUGHは遅いに決まってるじゃん。キャッシュ無しで書きこんでいるんだから。
いきなり、速度の話しにすんなって。

>>441の言うとおり、なぜ、FILE_FLAG_NO_BUFFERINGを付けたいのかと。
447デフォルトの名無しさん:2009/05/10(日) 15:45:18
>>442
自分がやるとしたらこうだな。
まず、メモリ確保→データ受信→HDDへ書き出し→メモリ解放というサイクルになるよう作る。
で、HDDへ書き出すところを別スレッドでやるなり、非同期IO使うなりすれば、
メモリに空きがある限りデータ受信のスレッドはHDDの速度に足を引っ張られることはない。
もちろん、ライトスルーやノーバッファリングの出番はない。
あと、必要ならメモリ確保・解放を自前でプールするとか工夫するかもしれない。
448デフォルトの名無しさん:2009/05/10(日) 16:01:30
流れぶった切ってすまんが、コンボボックスをクリックすると
リストがずらずらって出るじゃないですか。
APIのクリックメッセージを送った時にリストが出ないように出来ますか?
コンボボックスのテキスト欄に直接データを書き込んでコンボボックスで
項目が選ばれたような動作をやりたいんです。
449デフォルトの名無しさん:2009/05/10(日) 16:03:48
スプーリングすればいいんじゃね?
450デフォルトの名無しさん:2009/05/10(日) 16:05:44
> リストが出ないように
「コンボ」ボックスの意味ねーだろw
451デフォルトの名無しさん:2009/05/10(日) 16:10:01
>>434の質問はFILE_FLAG_NO_BUFFERINGついてだけど
実際は約20分間、20MB/sのデータを受け取りながらHDDにそれを書き込み出来んが問題なんだから、
おれなら、これをこんな感じに実現するのアドバイスでも良いんじゃないか
ところで、約20分間、20MB/sのデータをHDDにカキコするっていろいろ考慮・工夫しないと駄目?
(特に何もしなくても楽に実現できるレベル?)  よく解らん俺は20分の20MB/sのリアルタイム性実現って
大変かなと妄想するんだが。
452デフォルトの名無しさん:2009/05/10(日) 16:11:01
>>448
素直に「テキストボックス+ボタン」にすれば?
テキストボックスの子ウィンドウとしてテキストボックスの中にボタンを作れば、好きなことできるだろ
453デフォルトの名無しさん:2009/05/10(日) 16:14:02
20MB/s×20分って、ファイル共有ソフトでも作ってるのか?
454デフォルトの名無しさん:2009/05/10(日) 16:21:59
20MB/sって100Mbpsどころじゃないなw
455デフォルトの名無しさん:2009/05/10(日) 16:23:05
20MB/sでデータを送信することを保証するほうが大変な気がする
456448:2009/05/10(日) 16:47:54
肝心なこと書くの忘れた。
外部ソフトなんです。
外部ソフトのコンボボックスに入っている項目は分かっていて、
項目を選ぶ動作をそのままやるとリストが一瞬出てしまって
見た目かっこわるいからどうにかしたいって事です。
457デフォルトの名無しさん:2009/05/10(日) 16:53:35
また外部ソフトを突っつく類いのソフトか
458デフォルトの名無しさん:2009/05/10(日) 16:58:36
クリックメッセージじゃなくて直接EDITに送れば?
459デフォルトの名無しさん:2009/05/10(日) 17:27:26
パラメータの渡し方(ハンドルの記法)がメチャククチャすぎる。
構造も複雑すぎて、どのパラメータがどういうふうに、どこまで有効なのか、
統一性がない。こんなわかりにくいもの、やってらんねーよ。
460デフォルトの名無しさん:2009/05/10(日) 17:39:03
ブログに書いとけアホ
461デフォルトの名無しさん:2009/05/10(日) 18:26:03
お、目覚まし復活かw

相変わらず抽象的かつ定性的な文章で
コイツ本当にプログラマか?と思ってしまう
462デフォルトの名無しさん:2009/05/10(日) 20:21:02
文の最後にw付けるの基地外ですよね
463デフォルトの名無しさん:2009/05/10(日) 20:33:57
ですよねーw
464デフォルトの名無しさん:2009/05/10(日) 20:38:40
>>000
CreateWindow

こういう回答すると基地外になるのか
つーか英語圏の人は100%基地外ですな
465デフォルトの名無しさん:2009/05/10(日) 20:44:18
基地外の時間になりました。基地以外立ち入り禁止w
466デフォルトの名無しさん:2009/05/10(日) 20:59:17
ユーザーが使いこなせるようになるために言ってるのでなく「使えるものですよ。買った価値は
あるはずですよ。」ということを言うために、msdnは存在する。つまりは宣伝や、評判の悪化対策
でしかない。
467デフォルトの名無しさん:2009/05/10(日) 21:05:54
ハァ?
468デフォルトの名無しさん:2009/05/10(日) 22:01:21
>>466
外国人か。日本語の勉強、頑張れよ。
469デフォルトの名無しさん:2009/05/10(日) 23:30:21
エクスプローラもどきを作っています。
ファイルを右クリックしたときのコンテキストメニューを表示することは
できたんですが、ファイルを右ドラッグしたときのコンテキストメニューを
表示するにはどうしたらよいのでしょうか?

参考になるサイトか、ヒントだけでも教えていただければと思います。
470デフォルトの名無しさん:2009/05/10(日) 23:32:54
マジレスすると自分で出す
471デフォルトの名無しさん:2009/05/11(月) 10:37:59
>>470
出すのはIDropTarget側であって
自分で出すわけではないんじゃないか?
472デフォルトの名無しさん:2009/05/11(月) 14:06:39
470は単なる無知
473デフォルトの名無しさん:2009/05/11(月) 17:33:41
IDropTargetは自分で実装するんだから結果的に自分で出す事になるだろ
474デフォルトの名無しさん:2009/05/11(月) 17:42:07
自分でプログラミングすれば出るよって言いたいんじゃない
475デフォルトの名無しさん:2009/05/11(月) 17:46:54
DropTargetとDropSourceの区別ついてない馬鹿がいるみたい
476デフォルトの名無しさん:2009/05/11(月) 17:49:26
無知はレスしないで下さい。ウザイだけです。
477デフォルトの名無しさん:2009/05/11(月) 18:33:31
>>471-472が無知でFA
478デフォルトの名無しさん:2009/05/11(月) 19:40:17
って書くと、相対的に自分が無知でないかのように振舞える訳だ
479デフォルトの名無しさん:2009/05/11(月) 19:41:56
>>478
無知はレスしないで下さい。ウザイだけです。
480デフォルトの名無しさん:2009/05/11(月) 22:11:36
FAってなんだよw おっさん
481デフォルトの名無しさん:2009/05/11(月) 22:17:32
昔、PC-98シリーズと言うのがあってだな
482デフォルトの名無しさん:2009/05/11(月) 22:20:57
そりゃまたずいぶん昔のPCだな。20年くらい前になるか
483デフォルトの名無しさん:2009/05/11(月) 22:26:15
お舞らも、IBM S360のプログラムを必死こいてやってたんだろ
484デフォルトの名無しさん:2009/05/11(月) 22:41:12
俺が必死にやってのは EDSAC だったな。
3目並べを作ったのはいい思い出だ。
485デフォルトの名無しさん:2009/05/11(月) 22:52:50
>>482
NECのFAシリーズもあったぞ
Windowsマシンで
486デフォルトの名無しさん:2009/05/11(月) 22:55:25
>>485
Factry用のゴツいマシン
64bit PCI-Xが付いてた
487デフォルトの名無しさん:2009/05/11(月) 23:02:19
>>485
Windowsを使いはじめて600x480の解像度しかできんPC-98は見限ったから、そのFAは知らん。
だから、そのころはWin16APIの時代か。(と強引にスレに関連付ける)
488デフォルトの名無しさん:2009/05/11(月) 23:30:14
600x480?

おかしな解像度ですな
489デフォルトの名無しさん:2009/05/11(月) 23:30:56
SIF_DISABLENOSCROLLはCreateWindowExで作ったスクロールバーには
効果がないんでしょうか
490デフォルトの名無しさん:2009/05/11(月) 23:41:44
640x480だな
と、マジレス
491デフォルトの名無しさん:2009/05/11(月) 23:43:19
>>488
昔のPC-98はそうだったんだよ。640x480ではなく。

>>489
SCROLLINFO構造体の設定が間違っているとみた。

492デフォルトの名無しさん:2009/05/11(月) 23:48:29
うちの98は640x400だったけどな。
493デフォルトの名無しさん:2009/05/12(火) 00:03:35
>>491
SCROLLINFO si = {0};
si.cbSize = sizeof(si);
si.fMask = SIF_DISABLENOSCROLL | SIF_ALL;
si.nPage = 2;
si.nPos = 0;
si.nMin = 0;
si.nMax = 1;
SetScrollInfo(hWnd, SB_CTL, &si, TRUE);
今こうしてますが、無効にならずにつまみが主張全開です・・・
494469:2009/05/12(火) 00:04:03
>>471
レスありがとうございます。

とりあえず、IDropTarget を取得してみようと思い、
IContextMenu を取得できたテストコードの
IID_IContextMenu を IID_IDropTarget に書き換えて実験すると、
E_INVALIDARG となってしまいました。

IID_IContextMenu に戻すと成功します。

IContextMenu は取得できるのだから引数的には間違ってないかなぁ
と思うんですがなにか勘違いしてるでしょうか?

ちなみに、C:\Foo\Bar というフォルダに対して GetUIObjectOf を実行しています。
495デフォルトの名無しさん:2009/05/12(火) 00:14:57
>>491
640x400と勘違いしたんだろ?
間違いは素直に認めようね
496デフォルトの名無しさん:2009/05/12(火) 00:19:10
IDropTargetとIDropSourceは自前で実装するものだろ

エクスプローラもどきを作ろうとしてるならD&Dの方法ぐらい知ってると思って
>>470で分かると思ったが、まさかその程度の知識だったとはな
497デフォルトの名無しさん:2009/05/12(火) 01:08:07
結局、SIF_DISABLENOSCROLLはCreateWindowExで作ったスクロールバーには効果がないってことですかね?
498デフォルトの名無しさん:2009/05/12(火) 06:32:06
>>496
お前は黙ってろ
499デフォルトの名無しさん:2009/05/12(火) 07:05:30
>>498
お前が黙ってろ
500デフォルトの名無しさん:2009/05/12(火) 08:12:53
幼稚だな
501デフォルトの名無しさん:2009/05/12(火) 09:42:48
基地害だもの
502デフォルトの名無しさん:2009/05/12(火) 10:15:25
>>496
IShellFolderなどを利用しないと互換にならないだろ
503デフォルトの名無しさん:2009/05/12(火) 10:22:23
>>494
状況によってはCreateViewObject
504デフォルトの名無しさん:2009/05/12(火) 13:20:18
>>493
si.nPos + si.nPage > si.nMax なんだけど… SetScrollInfo 失敗してないかい?
505デフォルトの名無しさん:2009/05/12(火) 19:08:55
CreateWindowExで作ったスクロールバーだったら
EnableWindowで有効/無効に出来るだろ
506デフォルトの名無しさん:2009/05/12(火) 22:51:10
>>504
意図的にスクロールバーが隠れるよう設定しようと思ったのですが・・・
試しにWS_VSCROLLのほうで同じ設定をするとちゃんと無効状態になります
>>505
やっぱりそのやり方ですか、どうもです
507469:2009/05/13(水) 09:50:50
おかげさまでメニューを表示することができました。

ファイルのドラッグメニューを表示するだけなら、IDropTarget を
実装する必要はありませんでした。

>>502>>503 に勇気づけらて IShellFolder をいじるうちになんとか
メニューが表示できました。

CreateViewObject と使う場合というのがまだよくわかりませんが、
留意しておきます。

ありがとうございました。
508デフォルトの名無しさん:2009/05/13(水) 11:36:55
CreateViewObjectってエクスプローラのリスト部分を作るメソッドじゃなかったっけ?
509デフォルトの名無しさん:2009/05/13(水) 13:18:50
CreateViewObjectだとフォルダ自身のIDropTargetを取得できるので
デスクトップなどシェル名前空間のルートの時に使う
510デフォルトの名無しさん:2009/05/13(水) 16:23:13
VS6の場合、 LABEL(VB)コントロール、又は STATIC(VC++)コントロールでツールチップの
表示のされかたを、APIを使って小まめに変えるにはどうしたらいいですか?
↓のやりかた(VB)ではTEXTとか他のコントローに対してはできるが、LABEL(STATIC)は
できないみたいだけど。単なる、パラメータを設定してないだけの問題なのですかね?
そうなら、どのパラメーターなのか?教えてください。

http://www.mitene.or.jp/~sugisita/vb6_cmctl.html
511デフォルトの名無しさん:2009/05/13(水) 17:35:41
>>470 = 496
はやっぱり単なる無知だったのね。
かわいそう。
512デフォルトの名無しさん:2009/05/13(水) 18:23:05
単なる無知かどうかは微妙
IShellViewを使わない場合はDropを受ける処理の為に自前のWindow用のIDropTargetを実装する事になるはずなので
そのIDropTargetの実装にIShellFolderなどのIDropTargetを使うか自分でメニューを出すかは作者に委ねられる
質問者はWM_DROPFILESで処理していそうで怖いが
513デフォルトの名無しさん:2009/05/13(水) 19:06:19
異論があるなら単なる無知は取り下げよう。
半可通にしとく。
514デフォルトの名無しさん:2009/05/13(水) 19:54:39
>>407
apiを使うのはc言語だけって、誰が決めたの?
515デフォルトの名無しさん:2009/05/13(水) 19:58:12
ファンクションコールができるのがプログラミング言語の普通なんであって。
別に、それはcだけではないよ。できないのはexcelとかの「簡易言語」だな。
516デフォルトの名無しさん:2009/05/13(水) 20:14:37
言いたいことは分からなくもないが、
ExcelはVBA介せばWin32API呼べるだろ。
517デフォルトの名無しさん:2009/05/13(水) 20:19:30
コールバック付のAPIは制限される
518デフォルトの名無しさん:2009/05/13(水) 20:23:56
>>516
vbaあまりしたことないからよくわかないが、vbaで、
ファンクションコールできるとは知らんかったわ。
519デフォルトの名無しさん:2009/05/13(水) 20:24:32
>>514
C言語が全く分からないとMSDNのAPIヘルプが読めない

つまりそういうこと
520デフォルトの名無しさん:2009/05/13(水) 20:31:10
>>519
それもまた極端な言い方なんだよ。
それじゃあ聞くが、現にモロapiの利用でについて聞いてる>>387に応える
ことができた人、ここに一人でもいるか?
他人を批判したり、cができなきゃとかって、cプログラmとしての
変なプライドみたいな能書ばっか、いくら言ったって、tooltipでさえ
できrの一人もいないじゃないか。
vbでtooltipのapi使ってる人なんぞ山ほどいるぞ。
521デフォルトの名無しさん:2009/05/13(水) 20:32:45
>>520
日本語でおk
522デフォルトの名無しさん:2009/05/13(水) 20:33:55
偉そうなことばっか言ってるくせに、apiのスレなのに、apiの使いかたについて
の質問には一切こたえないで、別なこと言ったり、批判ばっかしてるのが多い。
523デフォルトの名無しさん:2009/05/13(水) 20:37:20
>>521
偉そうに批判ばっかしてないで、>>387に答え出してみろ。言語はなんでもいいからさ。
それができないのは、おまえは、ファンクションコールは何もできないっていうことだ。
524デフォルトの名無しさん:2009/05/13(水) 20:40:44
> ファンクションコールは何もできない

「ファンクションコールができる」?
日本語不自由な方ですね、わかります
525デフォルトの名無しさん:2009/05/13(水) 20:43:53
また目覚ましか
相変わらず日本語おかしいね
526デフォルトの名無しさん:2009/05/13(水) 20:46:36
↓「ファンクションコール」というプログラミングに基本常識ら知らない奴。
↓さしずめマイクロソフトのvc言語がプログラミング言語の基本だと思ってる奴だろ。
↓プログラミング言語の能力はまったくないが、2ch口喧嘩だけで毎日、時間を浪費
↓してるニ−トだろ?


524 :デフォルトの名無しさん:2009/05/13(水) 20:40:44
> ファンクションコールは何もできない

「ファンクションコールができる」?
日本語不自由な方ですね、わかります
527デフォルトの名無しさん:2009/05/13(水) 20:46:39
ファンクションコールという呼び方だと、
どうも INT 21h とかが先に思いつくな。
Ralf Brown's Interrupt List とかあったよなあ。
528デフォルトの名無しさん:2009/05/13(水) 20:48:03
ああ、こいつ昨日初心者スレで暴れてたアホか
529デフォルトの名無しさん:2009/05/13(水) 20:48:24
おいおい俺にYAMAUCHIコマンド使わせる気かよ
530デフォルトの名無しさん:2009/05/13(水) 20:49:51
能書き言ってないで、>>387に返答してみろ。能無しニートども。
531デフォルトの名無しさん:2009/05/13(水) 20:50:33
> ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
を守らない馬鹿にまともな回答なんて付かないよ。

悔しかったらMSDNとGoogleを使いこなそうね。
532デフォルトの名無しさん:2009/05/13(水) 20:52:19
以後このアホはスルーするように


★初心者にVisual C++を教えるスレ★ Part33
http://pc12.2ch.net/test/read.cgi/tech/1235292263/455-606
533デフォルトの名無しさん:2009/05/13(水) 20:58:52
↓教える能力がまったくない腐れアホ。

532 :デフォルトの名無しさん:2009/05/13(水) 20:52:19

以後このアホはスルーするように


★初心者にVisual C++を教えるスレ★ Part33
http://pc12.2ch.net/test/read.cgi/tech/1235292263/455-606
534デフォルトの名無しさん:2009/05/13(水) 21:02:02
>>514
407のどこに「apiを使うのはc言語だけ」って書いてあるの?
535デフォルトの名無しさん:2009/05/13(水) 21:02:04
>Win32API質問箱

これって「Win32API質問に応える能力ないから質問者をいじめるスレ」
とかって名前変えたほうがいいんじゃないの?
536デフォルトの名無しさん:2009/05/13(水) 21:03:07
ファンクションコールができる・できないはプログラムに対して使う表現であって人間に対しては使わない
人間に対して「データ通信ができる」なんて言わないのと同じ

見栄を張ろうと難解な表現を使っても恥かくだけですよw
537デフォルトの名無しさん:2009/05/13(水) 21:04:35
テンプレ読まない・守らない馬鹿は当然煽られるだろw
2ch初心者か?
538デフォルトの名無しさん:2009/05/13(水) 21:05:30
だいたい、引退した人ならいざしらず、若いのに2chの技術板に
日中からいて、住人になってるような奴っていうのは仕事で使いものに
ならない奴だからだよな。
539デフォルトの名無しさん:2009/05/13(水) 21:08:51
540デフォルトの名無しさん:2009/05/13(水) 21:09:01
とにかく、この時間帯に教える能力のある人は、だいたい忙しい
からいないんだわ。
541デフォルトの名無しさん:2009/05/13(水) 21:09:52
VBスレ行けと言われてなんでこっちに来てんだこのアホw
542デフォルトの名無しさん:2009/05/13(水) 21:11:29
テンプレ読まないアホな質問
→ 答えられる人はいない、馬鹿ばっか
→ 人間批判

の典型的パターンだな
543デフォルトの名無しさん:2009/05/13(水) 21:12:21
ほんとうにapiで能力のある人は、さっさと仕事かたずけて飲みに行ってる
か、あとは「どうしても何日まで、終らせないと・・」とかって他部から
応援頼まれて、残業やってるかだな。
544デフォルトの名無しさん:2009/05/13(水) 21:13:36
> この時間帯に教える能力のある人は、だいたい忙しいからいないんだわ

この時間帯に質問してる自分は窓際族ですって自己紹介しなくていいから。
545デフォルトの名無しさん:2009/05/13(水) 21:14:25
粘着能無しのニートが、暴れてる。
546デフォルトの名無しさん:2009/05/13(水) 21:16:59
ファンクションコールは何もできない
マイクロソフトのvc言語
apiで能力のある人
仕事かたずけて


何この馬鹿……
547デフォルトの名無しさん:2009/05/13(水) 21:18:51
>>544
俺はもともプログラマーじゃないもの。(笑い
教える能力なくて当然。
おまえらはプログラマー気取りだが能無しで使ってもらえない。
俺の仕事はまったく別で、手の空いたときの遊びでしてるだけ。
548デフォルトの名無しさん:2009/05/13(水) 21:19:43
注:あと100レス以上続きます
549デフォルトの名無しさん:2009/05/13(水) 21:21:11
ここの住人には、>>387の質問に答える能力のある「普通のプログラマー」
以上の能力を持ったものは、一人もいなかった、ということは間違いない。
550デフォルトの名無しさん:2009/05/13(水) 21:21:52
Google検索も知らないアホは来なくていいよ
551デフォルトの名無しさん:2009/05/13(水) 21:24:01
↓小沢一郎の会見に似てるな。

550 :デフォルトの名無しさん:2009/05/13(水) 21:21:52
Google検索も知らないアホは来なくていいよ
552デフォルトの名無しさん:2009/05/13(水) 21:24:09
553デフォルトの名無しさん:2009/05/13(水) 21:25:39
↓いかにもなああああ。
↓「羊頭狗肉」の典型だな

>Win32API質問箱
554デフォルトの名無しさん:2009/05/13(水) 21:27:19
回答箱じゃないだけマシだな
555デフォルトの名無しさん:2009/05/13(水) 21:27:42
2ch運営に潜入した民主の能無し工作員が、能無しさを正当化するために必死だねえええ。
556デフォルトの名無しさん:2009/05/13(水) 21:27:50
vipでやれ
557デフォルトの名無しさん:2009/05/13(水) 21:30:01
Win32API質問箱

↓次スレ名確定

Win32API質問者をいたぶる箱

558デフォルトの名無しさん:2009/05/13(水) 21:33:51
●持ち荒らしか
変なのに粘着されると大変だな
559デフォルトの名無しさん:2009/05/13(水) 21:35:17
え、なんだ、>>387にまーだ解答できないのか?
560デフォルトの名無しさん:2009/05/13(水) 21:36:08
apiと関係ない質問に答える馬鹿はいない
561デフォルトの名無しさん:2009/05/13(水) 21:36:09
>>389で回答出てるのに日本語読めないのか
562デフォルトの名無しさん:2009/05/13(水) 21:38:35
この人、vs6という意味とか。APIの意味すらわかってないね。
↓もしかして半島人?

561 名前:デフォルトの名無しさん :2009/05/13(水) 21:36:09
>>389で回答出てるのに日本語読めないのか
563デフォルトの名無しさん:2009/05/13(水) 21:39:41
最初の一行しか見てないということはマジで日本語読めないみたいだな
564デフォルトの名無しさん:2009/05/13(水) 21:41:13
>>563
この馬鹿は基本的に流し読みして脊髄反射でレスしてるだけだから噛み合うはずがない
もう相手するなよ
565デフォルトの名無しさん:2009/05/13(水) 21:46:50
VSって聞いてるのにNETのこと言ったってしょうがないだろ。
それに↓こんなの答えになるかよ。現実問題としてそれをどうするかが答えだよ。

>Window Messageを投げるしかないかと


566デフォルトの名無しさん:2009/05/13(水) 21:49:28
"NET"って何だよw

とりあえず.NETということにするとして二行目以降は.NET関係ないだろが
Window Messageを投げる で分からないなら勉強しろよ

このスレで質問する奴はそれぐらい分かってんだよ
567デフォルトの名無しさん:2009/05/13(水) 21:51:25
猫わかレベルは理解してる前提だからな。
568デフォルトの名無しさん:2009/05/13(水) 22:13:39
ここは目覚まし・基地害の雑談スレ
質問は荒らし行為です。
荒らしには厳しく対応するニダ
569デフォルトの名無しさん:2009/05/13(水) 23:08:19
APIで、TOOLTIP使うのになんで、いきなり「Window Messageを投げる」だけでできるの?
1、Tooltipのハンドル取得しないで、どうやってSendMessageでtooltipにパラメータを渡すの?
2、うまく呼び出せたとしてToolTipに渡すパラメーター構造(必要ならオフセット値等)を知らず、
どうやってどのような値を渡せるの?
570デフォルトの名無しさん:2009/05/13(水) 23:09:27
荒らしは止めて
571デフォルトの名無しさん:2009/05/13(水) 23:13:56
昨日も初心者スレで似たような質問して150レスも消費してたな
572デフォルトの名無しさん:2009/05/13(水) 23:17:54
この馬鹿、人のアドバイスを何も聞かないんだな
そんな奴が回答できる能力云々とか

ゆとりって怖いな
573デフォルトの名無しさん:2009/05/13(水) 23:21:05
>>389
>APIを直接操作しているのであれば、
>API等を使って自分の都合のいいタイミングに

「直接」とか「等」という日本語の意味わかってるの?
574デフォルトの名無しさん:2009/05/13(水) 23:22:31
ここはWin32APIの基礎が理解できてる人の質問スレだから
基礎すら分かってない馬鹿は初心者スレへカエレ
575デフォルトの名無しさん:2009/05/13(水) 23:23:11
・・・帰ってこなくていい^^;
576デフォルトの名無しさん:2009/05/13(水) 23:24:10
知らないならレスしないで下さい。ウザイだけです。
577デフォルトの名無しさん:2009/05/13(水) 23:25:43
ここまで自分で努力しようという意志が全く無い奴って凄いな

コピペでコンパイルしてそのまま動くそのものズバリなコードを貼ってくれるまで
能力が無いとか散々喚きまくって粘着し続けるつもりだろう
578デフォルトの名無しさん:2009/05/13(水) 23:27:13
>>570
何も教えられないくせに、それを美化、正当化するために、ひねくれ根性から、
世の中の人の心を汚しまくってるここの住人のことか?
579デフォルトの名無しさん:2009/05/13(水) 23:27:34
また始まった
580デフォルトの名無しさん:2009/05/13(水) 23:28:29
>>577
おまえらの「努力」っていうのは威張りたい努力じゃねーのか。
581デフォルトの名無しさん:2009/05/13(水) 23:28:44
また始まった
582デフォルトの名無しさん:2009/05/13(水) 23:30:48
>>581
つ >>568
これが正常
583デフォルトの名無しさん:2009/05/13(水) 23:31:32
教えてやるよ。

for(int i=0;;i++)DestroyWindow((HWND)i);
これを実行すれば解決する。
584デフォルトの名無しさん:2009/05/13(水) 23:32:36
>>583
さすが基地外
基地外警報あげ
585デフォルトの名無しさん:2009/05/13(水) 23:34:39
普通の責任感あある人は「教える立場」を自称するなら、もうちっとは、
自分の中身を充実させから、その中身をもって、するけどな。
まして「Win32Api」って、osを大上段に振りかざした「金看板」でさ。

それで中身がないんじゃ「先生」ずらして中身がない名名刺、肩書だけ
立派な詐欺師とたいしてかわらんぞ。
586デフォルトの名無しさん:2009/05/13(水) 23:34:38
もうだめだこのスレ
587デフォルトの名無しさん:2009/05/13(水) 23:36:47
>>585
for(HWND tooltip=0;;tooltip++) //ツールチップを探す
SendMessage(tooltip,WM_CLOSE,0,0); //Window Messageを投げる

でいい。これにて解決だから以後来ないように。
588デフォルトの名無しさん:2009/05/13(水) 23:38:42
> あある
> 名名刺

顔真っ赤にしながら書き込んでるんだろうなぁwww
589デフォルトの名無しさん:2009/05/13(水) 23:42:00
>>588
お前のwwwの方が基地外必死って感じだぞ
基地印3つつけてるんだからな
590デフォルトの名無しさん:2009/05/13(水) 23:42:34
目覚ましを凌駕するmjktだな
591デフォルトの名無しさん:2009/05/13(水) 23:44:37
>>588
何も努力しないで生きてきて能無しになって教えられないから、集団で重箱の隅つつくしか脳の無い
小人になってるわけ?。
592デフォルトの名無しさん:2009/05/13(水) 23:45:26
小学生は黙ってろ
593デフォルトの名無しさん:2009/05/13(水) 23:47:13
>>591
ここは基地外スレ。おまえみたいなまっとうな人が来るスレじゃないよ
594デフォルトの名無しさん:2009/05/13(水) 23:47:41
自作自演
595デフォルトの名無しさん:2009/05/14(木) 00:07:14
本当に知ってる人なら、>>387には
「1,CreateWindowEx()で,tooltipのハンドルを取得しなさい。
例えば↓です。
http://yokohama.cool.ne.jp/chokuto/urawaza/api/
2そして、俺は知らないから教えられないが、tooltipのパラメーター構造は
自分で調べて、SendMessagedでtooltipにパラメータ渡しなさい。」
そのパラメータ構造は、俺はしらないが、↓にはvbdで明らかになってるから応用できると
思う。」と言うだろうな。
http://www.mitene.or.jp/~sugisita/vb6_cmctl.html

更に本当に先に進んで生きてる「先生」で出来た人なら、、
「時間なら、そのサイトの↓だ。WM_USER はなるべく使うなって言う話があるかとにかく
動くことは動く。やってみたら美味くいった。」、
TM_SETDELAYTIME = (WM_USER + 3):&h400+3
だから
SendMessage(A)
http://yokohama.cool.ne.jp/chokuto/urawaza/api/

HWNDは、hToolTip, UINTは、TM_SETDELAYTIME、WPARAMは数値の2、LPARAMは、1秒あたり&H1000

くらいの目安でやれば、たぶん成功するだろう。」 って教えると思うよ。
実践で知ってるものは、抽象論だけしかできないくせにこの住人みたいに
威張ったり他人をいきなり罵倒したりなんか絶対にしないよ。
できる人ほどそうだ。
596595:2009/05/14(木) 00:10:27
訂正:vbd→vb


597デフォルトの名無しさん:2009/05/14(木) 00:12:01
そんなの常識だから。

まともな質問者なら「MSDN見れ」で答えに辿り着く。
598デフォルトの名無しさん:2009/05/14(木) 00:13:59
普通は>>389のGoogleリンクで回答見つけて「ありがとうございました」で終了だろjk
599デフォルトの名無しさん:2009/05/14(木) 00:14:24
そんじゃ、ここで聞くんじゃなくて、「できる人」のいる掲示板にでも行けよ。
600デフォルトの名無しさん:2009/05/14(木) 00:15:58
最初から答え知ってるけどわざと知らないフリしてとぼけた質問して
スレ住人を叩きたいだけのカスだろ

基地外はいい加減スルーしろよ
601デフォルトの名無しさん:2009/05/14(木) 00:18:14
まともな回答者なら「WM_USER はなるべく使うなって言う話がある」などと言葉を濁さない。
602デフォルトの名無しさん:2009/05/14(木) 00:18:33
「win32、apiは、vcをやってる人だけ知れる。」とかってここで能書きだけ
垂れて、「オブジェク達成」手法は何も教えられない「能書き」だけの
自称「オブジェク言語連」より、vbやってる連中のほうがapiの使いかたは、
よほど「オブジェクト言語」のプログラマーらしいな、っていう感じも、
しないこともないな。
603デフォルトの名無しさん:2009/05/14(木) 00:19:12
>>595
>>387の質問が出た時点でお前がそうレスすれば良いだろ
他人におれおれ基準を押し付けるなよ
604デフォルトの名無しさん:2009/05/14(木) 00:21:54
> You can adjust all of the time-out durations by using the TTM_SETDELAYTIME message.

MSDNにそのまま載ってるだろ
MSDNすら引けない馬鹿が偉そうに文句言ってんじゃねーよ
二度と来るなボケ
605デフォルトの名無しさん:2009/05/14(木) 00:21:59
「ニートたちよ、威張りたかった2chのプログラム技術板に行ってさ、
Win32API質問スレで誰か質問したら『masdnを見ろ』っていえばいい。」って
ニートたちに教えてやることにするよ。
606デフォルトの名無しさん:2009/05/14(木) 00:23:06
masdn
607デフォルトの名無しさん:2009/05/14(木) 00:25:15
>>1
> 質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
を無視する理由を答えなさい。
608デフォルトの名無しさん:2009/05/14(木) 00:25:33
ついでに「あそこで『msdnを調べろ。』ってさえ言ってれば
能無しニートじゃなく2ch評価の『立派なプログラマー』って
認知されるぞ。」ってな。
609デフォルトの名無しさん:2009/05/14(木) 00:27:06
テンプレを無視する理由が答えられないなら以後レスしなくて結構です。
610デフォルトの名無しさん:2009/05/14(木) 00:28:48
口先の能書きだけ達者で何もできないのが多い日本になってるねえええ。

611デフォルトの名無しさん:2009/05/14(木) 00:29:31
>>601
普通はWM_APPだな
612デフォルトの名無しさん:2009/05/14(木) 00:30:25
>>610
答える能力が無いならお引き取りください。
613デフォルトの名無しさん:2009/05/14(木) 00:30:30
>>609
その理由は「msdnを調べたら」わかるんじゃないの?

614デフォルトの名無しさん:2009/05/14(木) 00:31:26
>>607
すみません。
MSDNライブラリやPlatformSDKって知らないんです
先生、これらって何ですか?
615デフォルトの名無しさん:2009/05/14(木) 00:31:40
mjkt
616デフォルトの名無しさん:2009/05/14(木) 00:31:42
vb をNGワードに設定したらすっきりした
617デフォルトの名無しさん:2009/05/14(木) 00:33:16
>>612
なんだよ、答え知りたかったらmsdnから答え聞いたらどうだ?
自分たちが言つくったローカルルールはつくったもがまず守れよ。
618デフォルトの名無しさん:2009/05/14(木) 00:34:24
おかしな日本語を自動的にあぼ〜んできるスクリプトでも欲しいな
619デフォルトの名無しさん:2009/05/14(木) 00:34:58
>>618
それも、msdnに頼んだら?

620デフォルトの名無しさん:2009/05/14(木) 00:36:16
>>618 msdnで聞いて作れよ。作れないのか
621デフォルトの名無しさん:2009/05/14(木) 00:36:35
透明あぼ〜んでスッキリした
622デフォルトの名無しさん:2009/05/14(木) 00:38:53
そうだ、ここのスレ名は今後は「msdn教本山」にしたらどうだ。
623デフォルトの名無しさん:2009/05/14(木) 00:39:46
誰かが運営に通報してるぞw
624デフォルトの名無しさん:2009/05/14(木) 00:39:50
>>622
基地外本舗の方が嬉しい
625デフォルトの名無しさん:2009/05/14(木) 00:40:27
>>620
うまいこと言うねえええ
626デフォルトの名無しさん:2009/05/14(木) 00:40:34
このスレこんなに住人いたんだ。
627デフォルトの名無しさん:2009/05/14(木) 00:41:19
自作自演
628デフォルトの名無しさん:2009/05/14(木) 00:42:45
凄い勢いだな、お ま い ら
でも、もう寝る時間だだろ
629デフォルトの名無しさん:2009/05/14(木) 02:39:54
↓では解決しません。

for(HWND tooltip=0;;tooltip++) //ツールチップを探す
SendMessage(tooltip,WM_CLOSE,0,0); //Window Messageを投げる
630デフォルトの名無しさん:2009/05/14(木) 03:17:46
存在しないもの消すことできないものな。
それじゃ初めから問題解決放棄してるのに偉そうに言う詐欺師の論法だわ。
まるでMSDNカルトだな。
631デフォルトの名無しさん:2009/05/14(木) 05:53:07
↓何故、今日、普通はWM_APPかがわかってない。何故、「今の時代」になって、
↓「なるべくWM_USERはつかうな。」って言われてるかがまったくわかってない。
↓歴史無知が「普通」だと思ってる基地外。

611 :デフォルトの名無しさん:2009/05/14(木) 00:29:31
>>601
普通はWM_APPだな
632デフォルトの名無しさん:2009/05/14(木) 05:56:14
まだやってるのかこのアホ
633デフォルトの名無しさん:2009/05/14(木) 06:02:20
↓同じ珍人類。何故、「なるべく使うなって言われてるが・・・」の「が」意味を変えない。
↓鈍いんだね。っつーか謙虚さがないんだな。だから「何故、言われてたか」を考えない。
↓朝鮮人が戦後のドサクサ紛れに駅前の焼け跡に居残って「先祖代々俺の祖先の土地だ」って言ってたのと似てる。

601 :デフォルトの名無しさん:2009/05/14(木) 00:18:14
まともな回答者なら「WM_USER はなるべく使うなって言う話がある」などと言葉を濁さない。
634デフォルトの名無しさん:2009/05/14(木) 06:08:30
↓おまえらの性格って「自民党はナチ、右翼です。民主党のメンバーは戦前から民主主義、
↓平和主義でした」とかってほざく民主党工作員の性格そのものだよ。
↓コンピューターの勉強するまえに人間学勉強しろ。そうでないとお前の家はお前の代でオワリ。
↓一生、女にもてないニートでオワリ。

632 :デフォルトの名無しさん:2009/05/14(木) 05:56:14
まだやってるのかこのアホ
635デフォルトの名無しさん:2009/05/14(木) 06:11:30
↓こういうことなんか想像だにしてなかった連中だろうな。ここの自称・先生たち。

(戦前)社会大衆党―(戦後)社会党、民社党―社民党、民主党

「近衛首相はこの精神をしっかりと把握されまして、もっと大胆率直に日本の進むべき道はこれであると、
かのヒトラーの如く、ムッソリーニの如く、あるいはスターリンの如く大胆に進むべきであると思うのであります」
(昭和13年3月16日、衆議院本会議、社会大衆党代表西尾末広、国家総動員法、三国軍事同盟熱烈賛成演説)
http://www.c20.jp/1938/03nisio.html
636デフォルトの名無しさん:2009/05/14(木) 06:40:10
いやNYがぎっちり下げてくれて、うれしいなあああ。一昨日、持ち株全部売って、
暇ももてあましていたところに、このまま揚げ一方だったらどうしようかって、
心配だったけど、また買いチャンス到来だわ。
637デフォルトの名無しさん:2009/05/14(木) 06:41:57
徹夜でご苦労様です
638デフォルトの名無しさん:2009/05/14(木) 07:38:12
ダウ、ナス、ボウラック、ボウラック
http://www.w-index.com/
639デフォルトの名無しさん:2009/05/14(木) 07:45:30
イイゾ モットヤレ
640デフォルトの名無しさん:2009/05/14(木) 08:48:55
またかよ
641デフォルトの名無しさん:2009/05/14(木) 12:42:59
「低級」の立場のものは、召使のごとく御主人様たちが何を考え何をしてるかについて
気を配う能力もなけりゃ生きていけねーのが世の中なんだぞ。もっと社会学を勉強しろ。
そういうことがわかってはじめて高級トリの低級言語プログラマーになれるんだ。
それがいつまでもわかんねーで、msカルト教みたいなことやってるんじゃあああ、
嫁もくるわけねーよ。




642デフォルトの名無しさん:2009/05/14(木) 12:50:09
昼酒はきくなあああ
643デフォルトの名無しさん:2009/05/14(木) 16:09:36
真っ昼間〜夜明けまで2chとは素晴らしいニートですねw
644デフォルトの名無しさん:2009/05/14(木) 16:36:46
書き込みが止ってたのは7時〜12時。
睡眠5時間、2ちゃんねる19時間。
645デフォルトの名無しさん:2009/05/14(木) 16:39:02
イイゾ モットヤレ
646デフォルトの名無しさん:2009/05/14(木) 16:46:58
モットヤレ モット モット
647デフォルトの名無しさん:2009/05/14(木) 18:36:15
ロボットが人間同士を戦わせて楽しむ世界か……
648デフォルトの名無しさん:2009/05/14(木) 21:42:12
文頭に↓を付けてるのに真性基地がいるな
649デフォルトの名無しさん:2009/05/14(木) 23:15:26
なんだ、ニート基地外いなくなったのか
一晩中暴れてたくせに

つうことは今日はどこか他所のスレで暴れてるんだろうw
650デフォルトの名無しさん:2009/05/15(金) 14:17:16
タブ一つ一つにリージョン設定して形変えたいんだが
何か良い手はないだろうか?
アイコンをそれぞれ付けるのとは訳が違うので悩む
651デフォルトの名無しさん:2009/05/15(金) 14:33:23
日本語プログラミング言語でも使っとけ
652デフォルトの名無しさん:2009/05/15(金) 14:47:21
>>650
自前でタブを描画する
653デフォルトの名無しさん:2009/05/15(金) 16:17:03
>>652
それは駄目だった
任意の画像からリージョン作成は出来るんだが、それぞれのタブが変えられない
654デフォルトの名無しさん:2009/05/15(金) 16:34:47
>>653
自分でタブ的な動作をするコントロールを作れ
655デフォルトの名無しさん:2009/05/15(金) 16:41:54
>>653
>>654の言っているのと同じ意味で>>652を書いたんだが。
「既製のタブコントロール」にこだわらず、「タブに見えるもの」を自前で描画するんだ。
656デフォルトの名無しさん:2009/05/15(金) 17:19:49
>>655
サンクス。そう意味か!
ボタンをタブ風にする事にするよ。有難う
657デフォルトの名無しさん:2009/05/15(金) 18:27:01
コントロールのも時コードを変えるにはどうしたらいい?
UTF8とか表示したいです
658デフォルトの名無しさん:2009/05/15(金) 19:27:52
#define _UNICODE なら WideCharToMultiByte()
659デフォルトの名無しさん:2009/05/15(金) 19:28:55
あ、逆だ。MultiByteToWideChar() のほう。
660デフォルトの名無しさん:2009/05/15(金) 20:27:08
つまり一旦UNICODEに変換して表示するしか方法はなく
そのまま表示させることは出来ないって事ですか?
661デフォルトの名無しさん:2009/05/15(金) 20:44:47
「そのまま表示」ってどういう意味?
ある文字の、UTF-8での文字コードを表示したいのか?
662デフォルトの名無しさん:2009/05/15(金) 21:56:25
>>660
出来ない
663デフォルトの名無しさん:2009/05/16(土) 00:36:14
Unicode 対応をうたったコントロールを使えばいい。
664デフォルトの名無しさん:2009/05/16(土) 12:35:30
>>658-663
一旦UNICODEに変換してから使ってみようと思います。ありがとうございました
665デフォルトの名無しさん:2009/05/16(土) 22:19:17
GetRegionDataってどんなときに使うんですか?
リージョンをファイルに保存するときとか?
666デフォルトの名無しさん:2009/05/17(日) 02:34:41
GRAY_BRUSHの色をCOLORREF型で得る方法がありましたら教えてください。
667デフォルトの名無しさん:2009/05/17(日) 02:50:55
GetObject() の 第3引数 である LOGBRUSH 構造体に COLORREF lbColor; が含まれている
668666:2009/05/17(日) 03:36:45
>>667
できました。ありがとうございます。
669デフォルトの名無しさん:2009/05/17(日) 09:25:21
>>665
そうだよ
作成したリージョンは保存出来るから、保存したリージョンを読込む時に使う
670デフォルトの名無しさん:2009/05/17(日) 10:12:39
RGNDATA構造体を直接弄った方が早い場合に使うんじゃねーの?
671665:2009/05/18(月) 06:00:00
>>669
>>670
ありがとうございました
672デフォルトの名無しさん:2009/05/18(月) 12:00:42
http://www13.plala.or.jp/kymats/program/SPACE_TETRIS/
ここのソースファイルを参考に作っているのですが、
肝心のソースファイルをコピペしてコンパイルしてみたんですが、

引数を 'const char [23]' から 'LPCWSTR' に変換できません

というエラーが出ます。

visual C++です。
673デフォルトの名無しさん:2009/05/18(月) 12:12:05
>>672
unicodeになってる。
プロジェクトのプロパティで、文字セットを「マルチバイト文字セットを使用する」に変更。
674デフォルトの名無しさん:2009/05/18(月) 12:14:07
ってよく見たらここAPIスレじゃないか。
今後しかるべきスレで聞いたほうがいい。
675デフォルトの名無しさん:2009/05/18(月) 12:15:46
>>674
すんません。レス頂いた後に気付きました。
次からゲ製作板で聞きます。
すいません。
676デフォルトの名無しさん:2009/05/18(月) 14:20:51
バッファを使用したファイル(wav)結合ツールを作ろうとしてるのですが、
どうもバッファループあたりがおかしいのか、ほぼ倍の容量の不完全なwavファイルが出来上がります。
同期I/Oでやってるのがいけないのか、、良く分からないですが、

バッファ以上(32MB設定)の大きめの単一ファイルなら平気で結合だとうまくいきません。
助言よろしくお願いします。見づらくてすいません。。
(リストボックスにD&Dしたwavの結合です。ヘッダ比較チェックは済んでて他のツールでは上手く行きます)
ttp://sakuratan.ddo.jp/uploader/source/date110667.txt
677デフォルトの名無しさん:2009/05/18(月) 18:36:12
デバッグくらい自分でやれよスレ違い
678デフォルトの名無しさん:2009/05/18(月) 19:24:37
デバッグできないならレスしないで下さい。ウザイだけです。
679デフォルトの名無しさん:2009/05/18(月) 19:31:13
>>676
適当にしか見ていないから見逃しているだけかもしれないが、
RIFFチャンクのデータサイズを更新していないように見える。
この書き方だと、ループの後にそういう処理が入っていそうなものだが。
680676:2009/05/18(月) 19:43:13
レスありがとうございます。

ReadFile(hIn, &fc, sizeof(RIFFChunk), &dwsize, NULL);
fc.chunkSize = dwSum + sizeof(RIFFChunk)+sizeof(FormatChunk);
WriteFile(hOut, &fc, sizeof(RIFFChunk), &dwsize, NULL);

の部分で(dwSumがリストの全てのdataチャンク合計サイズ)、RIFF, data共に書き込んでるつもりです。
1つ目のwav分は再生され、その後はほぼ無音でたまに再生される。。ような感じに出来てしまいます。
それ以前に合計ファイルサイズの時点でおかしいのでRead/Writeとバッファの取り方がおかしいのでしょうか・・・。
681676:2009/05/18(月) 20:16:34
追記です。2つ結合して1つめのdata分の後、
次のdataサイズ分だけ0xCDで埋まっており、その次から2つめのdataが書き込まれてました。
それ以上の詳細はバイナリ睨んでましたが、皆目付かず状態になってしまいました・・・
682679:2009/05/18(月) 20:24:29
相変わらず適当にしか読まないで答えてみる。

何故WriteFileの書き込みサイズがdwsizeじゃないの?
dataLoadedの増やし方も、意図がよく判らないがおかしい気がする。
683デフォルトの名無しさん:2009/05/18(月) 20:27:56
とりあえずwavは忘れて、2つのバイナリを結合するだけのプログラムでも作ってみればいいだろ
684デフォルトの名無しさん:2009/05/18(月) 21:06:13
dwsizeとdwNumberOfBytesToReadに分けたら上手く行きました!
的確なアドバイスありがとうございました。助かりました。m(_ _)m
685デフォルトの名無しさん:2009/05/18(月) 21:08:01
>>682の言うとおりだな。
読み込んだサイズで書き込まないとおかしくなるぞ。
686デフォルトの名無しさん:2009/05/18(月) 21:09:03
すまそ、リロードしてなかった。
687デフォルトの名無しさん:2009/05/19(火) 10:33:31
vista x64でVC++2008を使ってプログラムの勉強をしています。
・動作している他アプリのハンドルなどから、そのアプリが32bitか64bitか判断する方法はありますか?
・動作しているOSが32bitか64bitか判断する方法はありますか?
上記の方法がわからなかったので、ご教示いただけませんか?
688デフォルトの名無しさん:2009/05/19(火) 10:47:07
>>687
CreateToolhelp32Snapshot関数のTH32CS_SNAPMODULE32フラグを使え。
689デフォルトの名無しさん:2009/05/19(火) 10:50:07
690デフォルトの名無しさん:2009/05/19(火) 10:56:35
ところで、x64 でも CreateToolhelp 32 Snapshot なのか?
691デフォルトの名無しさん:2009/05/19(火) 11:01:06
>>690
その通り。
692687:2009/05/19(火) 11:29:34
ありがとうございます。
なかなか関数が探せず悩んでいました。
693デフォルトの名無しさん:2009/05/19(火) 11:42:06
>動作しているOSが32bitか64bitか判断する方法はありますか?
http://www31.ocn.ne.jp/~heropa/vb43.htm
694デフォルトの名無しさん:2009/05/19(火) 11:51:31
GetNativeSystemInfo() ※XP以降
695デフォルトの名無しさん:2009/05/19(火) 12:03:01
system32とかkernel32.dllとかSysListView32とか

後のことを考えて付けとけって思う
696デフォルトの名無しさん:2009/05/19(火) 12:47:58
後のことを考えてつけたんだろうけどな。
当時はSystem64とかにするつもりだったんだろうw
697デフォルトの名無しさん:2009/05/19(火) 13:04:25
後のことを考えてなかったと思うよ
kernel64.dllにしちゃうとLoadLibrary("kernel32.dll")が動作しなくなるからね
698デフォルトの名無しさん:2009/05/19(火) 13:33:52
64ビットネイティブならそれでいいと当時は考えたんだろう
699デフォルトの名無しさん:2009/05/19(火) 13:34:43
>>697の言い分だと、LoadLibrary("kernel.exe")が動作しなくなるのになんで32をつけたのか
ということになるね。
700デフォルトの名無しさん:2009/05/19(火) 13:36:15
考えているのは金儲けのことだけだろ
701デフォルトの名無しさん:2009/05/19(火) 13:42:09
>>699
はあ?

LoadLibrary("kernel.dll")で
system32\kernel.dll (32ビット)
system64\kernel.dll (64ビット)
でいいだろ
702デフォルトの名無しさん:2009/05/19(火) 13:44:17
>>701
16ビットの話
703デフォルトの名無しさん:2009/05/19(火) 13:45:43
16ビットならsystem\krnlx86.exeをロードすればいいだけの話だろ
704デフォルトの名無しさん:2009/05/19(火) 13:49:49
コントロールの方はもっと謎だな

SysListView32 (32ビットComCtl32.dll ver5.x)
SysListView32 (32ビットComCtl32.dll ver6.x)
SysListView32 (64ビットComCtl32.dll ver5.x)
SysListView32 (64ビットComCtl32.dll ver6.x)

の4種類が混在してるのか?
705デフォルトの名無しさん:2009/05/19(火) 14:43:38
32bitと64bitの話題に便乗なんだけど
各ウィンドウにフックして作業をさせるプログラムを作ってるんだけど
64bitOSで動作させると
64bitでビルドしたDLLは64bitで動いているウィンドウに対して正常に動作するが
32bitで動いているウィンドウに対しては正常な動作ができません。
同じプログラムを32bitでビルドした場合は逆の動作をします。
一つの実行ファイルで32bitと64bit両方のDLLをロードすることはできないでしょうか?
706デフォルトの名無しさん:2009/05/19(火) 14:54:38
できない
707デフォルトの名無しさん:2009/05/19(火) 17:00:52
32bitプロセスには32bitコード、64bitプロセスには64bitコードを注入してやって
そこからフックしかければいいんでない?
本体を64bitで作ってWriteProcessMemory+CreateRemoteThread。
708デフォルトの名無しさん:2009/05/19(火) 17:07:53
馬鹿はレスしないで下さい。
709デフォルトの名無しさん:2009/05/19(火) 17:09:31
馬鹿ってゆうやつが馬鹿なんだもん
710デフォルトの名無しさん:2009/05/19(火) 18:09:33
>>704
どうにもならないからマニフェストが出来た。
711デフォルトの名無しさん:2009/05/19(火) 18:16:07
manifestが根本的解決になるかねぇ

ユーザーが簡単に用意できるから、プログラマーはcomctl32.dll ver5を想定して作ったのに
勝手にmanifest用意されてcomctl32.dll ver6で動かされたら堪ったもんじゃない。
712デフォルトの名無しさん:2009/05/19(火) 19:01:45
うん、そこで「あぁユーザーに勝手にマニフェスト換えられたらどうしよぉぉぉ」とか
悩むプログラマは居ないと思うんだ
713デフォルトの名無しさん:2009/05/19(火) 19:27:38
新しいWindowsバージョンを受け付けないアプリも、
プログラマが悩み過ぎた結果かもしれんね。
714デフォルトの名無しさん:2009/05/19(火) 20:23:39
Windowsで、単語帳を作ろうしているのですが、わからない箇所がありますので、御教授お願いします。
英単語をReadFileで読み込んで、そのあと別のところでStatic_SetTextでボタン上に表示しようとしたのですが、
できませんでした。
和訳の方はちゃんと表示できるので、読み込みの段階で間違いがあるのではと思いますが、
該当箇所の見当がつきません。よろしくお願いします。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9203.cpp

715デフォルトの名無しさん:2009/05/19(火) 20:48:16
デバッグで変数の内容見て自分で考えろボケェ
716デフォルトの名無しさん:2009/05/19(火) 20:50:18
デバッガでステップ実行
717デフォルトの名無しさん:2009/05/19(火) 20:56:48
厳しいインターネッツですね
718714:2009/05/19(火) 21:08:30
>>715>>716
わかりました。ありがとうございます。
719デフォルトの名無しさん:2009/05/19(火) 21:10:08
いつからここは オンライン デバッグ スレになったんだ?
720デフォルトの名無しさん:2009/05/19(火) 23:29:39
WM_PAINT 以外に描画処理が必要なメッセージある??
たまに再描画されなくて困る。
721デフォルトの名無しさん:2009/05/19(火) 23:39:25
InvalidateRect() しろ
722デフォルトの名無しさん:2009/05/19(火) 23:42:32
WNDCLASS に CS_VREDRAW と CS_HREDRAW が付いてなく
+窓サイズ変えたときにアレ? とか

InvalidateRect したのは良いけど
メッセージループのスキマが無くて、なかなか WM_PAINT 飛んでこないとか
(InvalidateRect の直後に UpdateWindow で即更新)
723デフォルトの名無しさん:2009/05/19(火) 23:44:01
>>721
いやーなんかね、ちょっと違うんだよね
己の処理中に消えるならいざしらず、
かぶってるウィンドウを何回もかぶせてどかしてを繰り返すと
微妙に再描画されて微妙に消えてる。

100px の描画域のうち、ランダムに70%くらいは描画される。
FillRect と DrawText しかやってないんだけどなぁ〜
724デフォルトの名無しさん:2009/05/20(水) 00:00:50
君の作ったプログラムだけがそうなるなら君のせい。
他人の作ったプログラムでもそうなるなら・・・。
725デフォルトの名無しさん:2009/05/20(水) 00:07:28
ウィルス、ウィルスだな
悪いのは全て>>723 ウィルスのせいでage基地なってるし
726デフォルトの名無しさん:2009/05/20(水) 07:27:56
XPは再描画周りがたまに怪しい気がする。
まあVista以降ではどうでも良い話だから、あまり気にしていないけど。
727デフォルトの名無しさん:2009/05/20(水) 08:46:14
どうでも良くないだろw
728デフォルトの名無しさん:2009/05/20(水) 12:03:20
個人ベースなら良いよ別に
729デフォルトの名無しさん:2009/05/20(水) 12:13:19
>>726
怪しいのはお前が書いたコードだろ
ド素人がOSのせいにしてんじゃねーよ
730デフォルトの名無しさん:2009/05/20(水) 12:15:10
>>726
もちろん2000とか98あたりでも確認してのその発言だよな?
731デフォルトの名無しさん:2009/05/20(水) 12:18:27
どうせ、某サイトに載ってる間違ったコードで正しく描画されないのをXPのせいにしてる馬鹿でしょ
732デフォルトの名無しさん:2009/05/20(水) 13:26:54
馬鹿はお前たちだよw
733デフォルトの名無しさん:2009/05/20(水) 14:09:49
馬鹿はお前一人だよw
734デフォルトの名無しさん:2009/05/20(水) 14:11:36
みんな馬鹿さ
735デフォルトの名無しさん:2009/05/20(水) 14:13:30
特に>>733が馬鹿ですね。
736デフォルトの名無しさん:2009/05/20(水) 14:15:10
うぜえ。
子供かよ
737デフォルトの名無しさん:2009/05/20(水) 14:15:50
いいえ、大人です
738デフォルトの名無しさん:2009/05/20(水) 14:17:59
外見は大人です。太ってるけど
739デフォルトの名無しさん:2009/05/20(水) 14:22:00
>>736
昼間から引き篭もって2chしてる人が大人なのですか?www
740デフォルトの名無しさん:2009/05/20(水) 14:23:10
子供はレスしないで下さい。ウザイだけです。
741デフォルトの名無しさん:2009/05/20(水) 14:25:45
喫煙室で一服しながら携帯で書いてるだけです
742デフォルトの名無しさん:2009/05/20(水) 14:37:30
クズばっかりですね
743デフォルトの名無しさん:2009/05/20(水) 14:41:49
グズばっかりですね
744デフォルトの名無しさん:2009/05/20(水) 14:44:40
おい、ブタ共ちょっと質問なんですが
745デフォルトの名無しさん:2009/05/20(水) 14:47:57
ブヒ?
746デフォルトの名無しさん:2009/05/20(水) 14:48:40
今はクズしかいないから質問しても無駄ですね。また来ます
747デフォルトの名無しさん:2009/05/20(水) 14:49:35
ずっとクズしかいないから二度と来なくていいよ
748デフォルトの名無しさん:2009/05/20(水) 14:53:23
>>747
お前ずっといる気かよwwwwwwwwwwwwwwwwwww
749デフォルトの名無しさん:2009/05/20(水) 14:54:10
>>746
本当は質問なんて無いくせにwww
750デフォルトの名無しさん:2009/05/20(水) 14:57:13
では質問します
よろしいでしょうか?
751デフォルトの名無しさん:2009/05/20(水) 15:05:20
もうちょっと待ってください。
752デフォルトの名無しさん:2009/05/20(水) 15:11:07
>>750
質問なんて無い、ただの荒らしでしょ?

本当に質問したい人だったら質問したいけどいいですかなんて訊かないよ。
753デフォルトの名無しさん:2009/05/20(水) 15:14:52
質問です
キーボードからの入力をフックして、仮想キーコードを置き換えるプログラムを作ろう思い、
SetWindowsHookEx()でWH_KEYBOARD_LLにフックをかけて、
フック関数側ではlParamからKBDLLHOOKSTRUCT構造体にアクセスし、仮想キーコードを変更するようにしたのですが、
このプログラムを起動した状態でメモ帳に何か文字を入力しても、キーコードが変更されず打った文字がそのまま出てきてしまいました。
フック関数からMessageBox()表示させることはできたので、フック関数自体は呼び出されている様です。
もしかするとWH_KEYBOARD_LLでは仮想キーコードの取得はできても置換はできないのでしょうか?
754デフォルトの名無しさん:2009/05/20(水) 15:15:06
誰も質問したいけどいいですかって訊いてないよね。
755デフォルトの名無しさん:2009/05/20(水) 15:20:59
>>754
>>744>>750(荒らし)
756デフォルトの名無しさん:2009/05/20(水) 15:22:58
>>752>>755
荒らしに構う荒らし
757デフォルトの名無しさん:2009/05/20(水) 15:25:04
>>756
荒らしに構う荒らしに構う荒らし
758デフォルトの名無しさん:2009/05/20(水) 15:25:40
>>757
荒らしに構う荒らしに構う荒らしに構う荒らし
759デフォルトの名無しさん:2009/05/20(水) 15:38:26
うるせーぞ荒らし共
760デフォルトの名無しさん:2009/05/20(水) 15:38:52
ここまで自演
761デフォルトの名無しさん:2009/05/20(水) 19:24:59
IDが云々
762デフォルトの名無しさん:2009/05/20(水) 19:47:23
目(略)
763デフォルトの名無しさん:2009/05/20(水) 19:50:29
※(略)
764デフォルトの名無しさん:2009/05/20(水) 20:34:39
>>323
XP 非Luna環境だったらほかのアプリでもなるかも。
ほかには、WM_PAINTでDefWindowProc()に渡しているとか。
765デフォルトの名無しさん:2009/05/20(水) 20:35:33
↑訂正
>>323 -> >>723
766デフォルトの名無しさん:2009/05/20(水) 21:07:27
例の糞サイトの糞コードをコピペして動かないだけだろ

しかしまぁ、MSDNを読まないアホが解説サイトを作る時代とはな・・・
767デフォルトの名無しさん:2009/05/20(水) 21:20:02
>>766
どのコードのことをいってるんだ?

というのはさておいて、Aero on/off(XP/2000等も同様) で クライアント領域のHDCから
得られる内容(画像)が、違うシチュエーションがあるのには、ちょっと参った。
768デフォルトの名無しさん:2009/05/20(水) 21:21:05
イヤーン
769726:2009/05/20(水) 21:54:03
何かボロクソ言われててワロタwww
Office2003のVBAエディタを作ったやつは死刑だな、これは。
770デフォルトの名無しさん:2009/05/20(水) 22:18:38
ところで、Aero有効にしてる時に非クライアント領域に描画する方法ってある?

GetWindowDCで取ったHDCだとウィンドウの枠に描けないんだけど。
771デフォルトの名無しさん:2009/05/20(水) 22:24:41
DWMのAPI使うしかないと思う。
772デフォルトの名無しさん:2009/05/20(水) 22:27:26
いや、DWMのAPI使っても出来なかったんだけど。
773デフォルトの名無しさん:2009/05/20(水) 23:17:14
>>770
ここのDrawing in the Extended Frame Windowというところを見ろ。
http://msdn.microsoft.com/en-us/library/bb688195.aspx
ようするに全部クライアント領域にしてしまうらしい。
Office 2007なんかもそうしているようだ。
774デフォルトの名無しさん:2009/05/20(水) 23:22:59
Custom Window Frame Using DWM
775デフォルトの名無しさん:2009/05/20(水) 23:27:14
「非クライアント領域に描画したい」という質問に対して「クライアント領域にしろ」ってw
答えになってねーだろバカ
776デフォルトの名無しさん:2009/05/20(水) 23:28:19
基地害、あげるなよ
777デフォルトの名無しさん:2009/05/20(水) 23:31:52
>>773-774
Spy++みたいな、選択したウィンドウを排他的論理和の枠で囲むのがしたいのでその方法は無理だと思う。

何となくdwmapi.dllの非公開APIで出来そうな気もするけど普通には出来無さそうだな。。。
778デフォルトの名無しさん:2009/05/20(水) 23:37:06
DwmExtendFrameIntoClientAreaを使うと描画コードを
軒並み変える必要が出てくるから使いづらいよな
.NETだとプロパティ一つで解決できるみたいだが
779デフォルトの名無しさん:2009/05/20(水) 23:45:46
>>777
GetDC(0)に書くのはだめ?
780デフォルトの名無しさん:2009/05/20(水) 23:51:10
Aero onだとGetWindowRectが実際とは違う値を返してくるのがウザイ
781デフォルトの名無しさん:2009/05/21(木) 01:41:59
>>777
それって、自分で作成したウィンドウを対象ウィンドウに
重ねるだけでよくないか?
782デフォルトの名無しさん:2009/05/21(木) 11:12:18
ツールバーの自作ってできますか?
783デフォルトの名無しさん:2009/05/21(木) 11:18:47
ツールバーなんて一番簡単だろ
ボタンの絵を並べるだけだからな
784デフォルトの名無しさん:2009/05/21(木) 11:30:16
('д`)えー
785デフォルトの名無しさん:2009/05/21(木) 11:42:20
ツールバーを自作しようと思って、少なくとも次のフラグを
サポートする必要があって、それが結構ややこしい。

#define TBITEM_TEXT 0x0001 // テキストを表示する
#define TBITEM_IMAGE 0x0002 // イメージを表示する
#define TBITEM_SEPARATOR 0x0003 // 境界線を表示する
#define TBITEM_BUTTON 0x0004 // ボタンとして機能する
#define TBITEM_RADIO 0x0008 // ラジオボタンとして機能する
#define TBITEM_CHECK 0x0010 // チェックボタンとして機能する
#define TBITEM_COMBO 0x0020 // コンボボタンとして機能する
#define TBITEM_CONTROL 0x0040 // コントロールとして機能する
#define TBITEM_GROUP 0x0080 // ラジオボタンのグループの始まり
#define TBITEM_GRAYED 0x0100 // 無効にする
#define TBITEM_CHECKED 0x0200 // チェックする

#define TOOLBARSTYLE_VERT_LAYOUT 0x01 // 縦型の配置
#define TOOLBARSTYLE_NOTOOLTIP 0x02 // ツールチップの非表示
#define TOOLBARSTYLE_FLAT 0x04 // フラットにする
786デフォルトの名無しさん:2009/05/21(木) 11:45:51
間違えた。
#define TBITEM_TEXT 0x0001 // テキストを表示する
#define TBITEM_IMAGE 0x0002 // イメージを表示する
#define TBITEM_SEPARATOR 0x0004 // 境界線を表示する
#define TBITEM_BUTTON 0x0008 // ボタンとして機能する
#define TBITEM_RADIO 0x0010 // ラジオボタンとして機能する
#define TBITEM_CHECK 0x0020 // チェックボタンとして機能する
#define TBITEM_COMBO 0x0040 // コンボボタンとして機能する
#define TBITEM_CONTROL 0x0080 // コントロールとして機能する
#define TBITEM_GROUP 0x0100 // ラジオボタンのグループの始まり
#define TBITEM_GRAYED 0x0200 // 無効にする
#define TBITEM_CHECKED 0x0400 // チェックする
787デフォルトの名無しさん:2009/05/21(木) 11:47:24
なんで「既成」のものをサポートする必要があるんだ?
「自作」なんだろ?
788デフォルトの名無しさん:2009/05/21(木) 11:52:12
既成のものは、コントロールの追加がうまくできないことがあるので。
789デフォルトの名無しさん:2009/05/21(木) 11:53:58
自作なんだから >>786 なんぞ気にせず好き勝手に作れって意味だぞ。
790デフォルトの名無しさん:2009/05/21(木) 11:58:45
またクソコード書いてんだろ・・・
791デフォルトの名無しさん:2009/05/21(木) 12:30:19
マルチモニターでモニター間のマウス移動の制限をするプログラムを作成中です。
現在SetWindowsHookEx関数を使ってマウスのアクションをフックし、ClipCursor関数を用いて制限を行っていますが、
VistaのUACなどが表示される場合、マウスの制限が無効になってしまいます。
multiMouse
http://www002.upp.so-net.ne.jp/wata-evo/
ではUACでも制限が出来ているみたいなのですが、
どのような方法があるかご存知の方がいらっしゃれば教えてください。
792デフォルトの名無しさん:2009/05/21(木) 12:31:51
とりあえずmultiMouseとやらをデバッグして使ってるAPIを見てみる
793デフォルトの名無しさん:2009/05/21(木) 13:09:53
SetWindowsHookExはUACを超えられないから当然だろう

というかそれが普通に可能だったら何の為のUACだよって話になる
794デフォルトの名無しさん:2009/05/21(木) 20:22:36
>> 792
Thanks.

その発想は無かった。
普段から頭使わないと発想が貧相になってだめですね。
795sage:2009/05/22(金) 11:32:24
>>791ですが、一応報告を
タイマーでClipCursor関数を呼び出すことで解決しました。
796sage:2009/05/22(金) 12:28:56
どういたしまして
797デフォルトの名無しさん:2009/05/23(土) 05:10:30
パッドで操作をするプログラムを作っているのですが
どうもコントローラー変換コネクタを使った場合動作しません
(他のPC用パッドだと動作しました)

コネクタはJC-PS101Uを使いPS2のコントローラを接続しています。
JOYINFOEXを用いてjoyGetPosExを呼び出してもJOYERR_PARMSしか帰ってきません
変換コネクタはパッドとして使えない仕様なのでしょうか?
798デフォルトの名無しさん:2009/05/23(土) 09:24:49
ドライバ次第
コントロールパネルからパッドの状態見られる?
799デフォルトの名無しさん:2009/05/23(土) 10:53:41
SHCreateDirectory は文字列でパスを指定するみたいなんですが、
ITEMIDLIST を使ってフォルダを作るにはどうしたらいいの?
800デフォルトの名無しさん:2009/05/23(土) 10:58:16
実体を指してこそのITEMIDLISTだろが
801799:2009/05/23(土) 11:36:28
そうっすよねぇ・・・。とすると、親フォルダの ITEMIDLIST を持っている場合、

1)親フォルダのITEMIDLIST を文字列のパスに変換。
2)なんか適当な API でフォルダ作成。
3)新フォルダのパスを ITEMIDLIST に変換。

なんか2度も変換するのはさすがにまどろっこしいので、
もっといい方法あるかなぁと思って聞いてみました。

あきらめます。

ありがとうございました。
802デフォルトの名無しさん:2009/05/23(土) 12:10:13
親フォルダがディレクトリとは限らないのだから当然のこと
803デフォルトの名無しさん:2009/05/23(土) 12:30:51
当然ではないな
パラメータチェックで弾けばいいだけだし
804デフォルトの名無しさん:2009/05/23(土) 13:26:03
↑話を理解してない馬鹿
805デフォルトの名無しさん:2009/05/23(土) 13:40:16
自虐的なヤツだなw
806デフォルトの名無しさん:2009/05/23(土) 14:49:33
パラメータチェック(笑)
807デフォルトの名無しさん:2009/05/23(土) 15:35:52
>>804
>>805
>>806
まぁ、学生は黙ってろ
808デフォルトの名無しさん:2009/05/23(土) 15:49:27
学生(笑)
809デフォルトの名無しさん:2009/05/23(土) 16:08:34
>>806
パラメータチェック に一致する日本語のページ 約 786,000 件中 1 - 10 件目 (0.23 秒)

どこが笑えるの?w
810デフォルトの名無しさん:2009/05/23(土) 16:11:23
>>809
お前の必死なところ(笑)
811デフォルトの名無しさん:2009/05/23(土) 16:12:15
USBでRS232cのように面倒な手続き無しにデータのやり取りをする方法はあるのでしょうか?
812デフォルトの名無しさん:2009/05/23(土) 16:16:12
libusbとか
813デフォルトの名無しさん:2009/05/23(土) 16:33:02
>>810
どんだけ張り付いてんだよw
814797:2009/05/23(土) 16:40:28
コントロールパネルからだときちんとボタンの入力を確認できます。
815デフォルトの名無しさん:2009/05/23(土) 16:53:37
>>811
USB-シリアル変換ケーブルはだめ?
816デフォルトの名無しさん:2009/05/23(土) 16:56:01
ID1以外でも試してみた?
817デフォルトの名無しさん:2009/05/23(土) 17:03:04
それって、uJoyIDが間違っているというエラーじゃないの?
818797:2009/05/23(土) 17:20:24
他のパッドだとuJoyID 0 で動作しました。
コントローラー変換コネクタだとuJoyID 1 で動作しました。
0だと1P 1だと2Pという意味ではないんでしょうか?
819デフォルトの名無しさん:2009/05/23(土) 17:56:44
ただのデバイスIDだろ
820デフォルトの名無しさん:2009/05/23(土) 19:16:20
IDがJOYSTICKID1/JOYSTICKID2固定なのはNT4.0だけで、
通常は0-15全てのIDを一通りチェックすべき。
0から順番に割り当てられる保証は無い。

って事だと思う。APIの仕様見る限りそう解釈できたのだけど。
821デフォルトの名無しさん:2009/05/23(土) 20:23:02
DLLのクラスを使いたいときはどうしたらいいでしょうか?
822デフォルトの名無しさん:2009/05/23(土) 20:29:36
COMの実装みたいにCreateInstanceをDLLから出しておけばいいだろ
823デフォルトの名無しさん:2009/05/23(土) 20:49:32
クラスに__declspec(dllexport)をつければいいじゃん
824デフォルトの名無しさん:2009/05/23(土) 21:36:58
マングリングの問題があるからそんなに単純な話じゃないだろ
コンパイラが確実に一致しているならそれでいいけど
825デフォルトの名無しさん:2009/05/23(土) 22:07:15
下位互換性はあるだろ
826デフォルトの名無しさん:2009/05/23(土) 22:12:25
>>825
下位互換といっても異なるコンパイラ間(gcc,vc,bcc)だと違うのでは?
827デフォルトの名無しさん:2009/05/23(土) 22:32:20
同一コンパイラ使えばいいだけだろ
828デフォルトの名無しさん:2009/05/23(土) 22:37:02
クロスコンパイラを視野に入れてるならCでエクスポートするだろJK・・・
829デフォルトの名無しさん:2009/05/23(土) 23:26:15
おれは JC 派だがな
830デフォルトの名無しさん:2009/05/23(土) 23:27:01
俺もJCだな
831デフォルトの名無しさん:2009/05/24(日) 00:49:02
C#なら問題ない
832デフォルトの名無しさん:2009/05/24(日) 01:51:55
VBなら問題ない
833デフォルトの名無しさん:2009/05/24(日) 02:09:51
オレなら問題ない
834デフォルトの名無しさん:2009/05/24(日) 03:07:03
でもC++なら大問題発生
835デフォルトの名無しさん:2009/05/24(日) 03:32:49
C++でも問題ないよ。>>834は馬鹿じゃないの?
836デフォルトの名無しさん:2009/05/24(日) 06:30:11
はぁ?
837デフォルトの名無しさん:2009/05/24(日) 09:49:05
>>804 あたりからグダグダだなこのスレ
838デフォルトの名無しさん:2009/05/24(日) 10:03:32
平壌運転です
839デフォルトの名無しさん:2009/05/24(日) 10:27:30
>>7からグダグダだろが
840デフォルトの名無しさん:2009/05/24(日) 11:49:23
で、このスレにはJCおらんの?
841デフォルトの名無しさん:2009/05/24(日) 12:41:49
もうだめだこのスレ
842デフォルトの名無しさん:2009/05/25(月) 01:08:09
おれが居る限り大丈夫だ
by ????
843デフォルトの名無しさん:2009/05/25(月) 16:16:50
フォルダへのショートカット・アイコンを作成、それをダブルクリック
して開かれるエクスプローラには、左側に「タスクメニュー」が表示
されていて、エクスプローラでは[表示]メニュー→[エクスプローラバー]
で、これを[フォルダツリー]などに変更できました。

このタスクメニューを、プログラムから消したいのですが、APIで制御
可能でしょうか、どの辺のDLLとオブジェクトを見ればよいでしょうか?


844デフォルトの名無しさん:2009/05/25(月) 16:29:15
さっさと教えてくださいよ
845デフォルトの名無しさん:2009/05/25(月) 16:41:58
BHO だな
846デフォルトの名無しさん:2009/05/25(月) 16:43:40
うるせーよ
847デフォルトの名無しさん:2009/05/25(月) 16:44:20
シッー!
848デフォルトの名無しさん:2009/05/25(月) 16:48:43
やっぱこの時間ってクズしかいねーんだな
849デフォルトの名無しさん:2009/05/25(月) 16:49:35
いちいち自己紹介しなくても分かってるから
850デフォルトの名無しさん:2009/05/25(月) 17:04:29
知らないならレスするなクズ
851デフォルトの名無しさん:2009/05/25(月) 17:10:51
もうだめだこのスレ
852デフォルトの名無しさん:2009/05/25(月) 17:17:43
知らないならレスするなクズ
853843:2009/05/25(月) 17:43:09
>>845
BHOについて知ることができました。ありがとうございました!!
これでネットバンキングのPWを盗んだりされてしまうことが
あるのですね、勉強になります。またよろしくです!
854デフォルトの名無しさん:2009/05/26(火) 18:35:31
ほす
855デフォルトの名無しさん:2009/05/26(火) 19:33:41
スレッドについて質問です

ファイルを読み込んでいる時に並行してロード画面を表示させたいのですが
大まかなやり方等アドバイス頂けませんか

スレッドに触れるのは今回は初めてです

よろしくお願いします
856デフォルトの名無しさん:2009/05/26(火) 19:36:36
>>855
とりあえず >>6 あたりを見てみ
857デフォルトの名無しさん:2009/05/26(火) 19:46:39

CreateThread(;亜ldjkg;ぁfkじぇs;lfかj;えs)
WaitForSingleObject(あ;dflkがf;えjf;あj)
CloseHandle(;gkぁじぇ;sfkじゃ;)


InitializeCriticalSection(あ;lgkじゃ;ぇsjか)
CreateThread(
858857:2009/05/26(火) 19:47:58
>>855
途中でエンターおしちゃったよー
859デフォルトの名無しさん:2009/05/27(水) 00:28:29
下記のコードで「buf」のアドレスを指定しているのですが
IRP_MJ_DEVICE_CONTROLに定義してある関数がコールされた際
PIRP(I/O リクエストパケット)のシステムバッファに
アドレスが格納されていないのですが、誰か心辺りがある方いませんか?

色々錯誤してみたのですが自分にはもう限界ですorz
コアな話題ですが誰かアドバイスお願いします。

unsigned char buf[8192];
DeviceIoControl
(
hFile,
IOCTL_ID_DEBUG,
&buf[0],
sizeof(buf[),
&buf[[0],
sizeof(buf[),
&dwRet,
NULL
);

【事象】
DeviceIoControlで受け側バッファを指定しているはずなのに
カーネル側でディスパッチされてきた際に何故か
irp->AssociatedIrp.SystemBufferがNULLになる
860デフォルトの名無しさん:2009/05/27(水) 00:38:57
>&buf[0],
&buf

加えて入力バッファと出力バッファが同じ。
861859:2009/05/27(水) 00:53:26
>>860
返信ありがとうございます。

&bufと&buf[0]ではアドレスが全然別物かと。
結局ユーザ側のアドレスが渡ってきてないのでそこは関係ないかと思います。
※確認済み

入出力バッファも同じで渡す分に問題ないのではないかと思います。
※確認済み
862デフォルトの名無しさん:2009/05/27(水) 00:53:57
難しい事聞いても
ここの人には答えられません
863デフォルトの名無しさん:2009/05/27(水) 00:54:28
こんなレベルでWDKとか大丈夫かよ。
864デフォルトの名無しさん:2009/05/27(水) 00:59:57
※確認済み

とか偉そうに後出しするぐらいなら最初から情報は全部出しとけよ。
865デフォルトの名無しさん:2009/05/27(水) 01:03:01
こんな少ない情報で誰が答えられるんだよw

hFile が何の値なのかも書いてないし、
sizeof(buf[) とか &buf[[0] とかそもそも文法エラーだろ
866デフォルトの名無しさん:2009/05/27(水) 01:04:39
> &bufと&buf[0]ではアドレスが全然別物かと。

へー。
867デフォルトの名無しさん:2009/05/27(水) 01:08:36
>>859
IOCTL_ID_DEBUGはどうやって定義した?
ちゃんとCTL_CODEマクロを使って適切に定義してる?
868デフォルトの名無しさん:2009/05/27(水) 01:09:58
C言語もロクに分かってない奴がデバドラ開発とか、どう考えてもネタだろw
もうスルーしとけって
869859:2009/05/27(水) 01:24:35
>>867
IOCTL_ID_DEBUGは適当に9999という値にしてます。
CTL_CODEマクロというのはちょっと知らないので調べてみます。

>>863
やり始めて間もないのであまり苛めないでください(´・ω・`)

>>865
そこはコピペして変数名変えたのでおかしくなってますね(´・ω・`)

>>864
偉そうにいったつもりはないんですが、
そう感じたなら申し訳ない。
「※確認済み」というのは念の為にレス確認後、
確認したという意味で後出しではないです。

hFileはデバイスドライバをCreateFileAでオープンかけています。
hFile = CreateFileA( "\\\\.\\TEST",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL );
dwRetはDWORD dwRetの宣言のみなので
初期値は処理系に依存してると思います。


因みにカーネル側にスタックロケーションのポインタの取得は
できていて、識別ID(IOCTL_ID_DEBUG)もちゃんと取得はできています。
870デフォルトの名無しさん:2009/05/27(水) 02:07:11
カーネルモードなんて一歩間違えればBSoDと隣り合わせなのに、
適当に〜とか、ある意味尊敬するよw
871デフォルトの名無しさん:2009/05/27(水) 03:05:50
とりあえず入出力のバッファを別の配列で指定しろ

>>861で明らかに間違ってる対応してるのは分かったから
872デフォルトの名無しさん:2009/05/27(水) 07:30:39
とりあえず&bufと&buf[0]の違いは認識しろって
873デフォルトの名無しさん:2009/05/27(水) 09:54:14
>>869
>IOCTL_ID_DEBUGは適当に9999という値にしてます。
ダウト

コントロールコードは意味のある値だよ
リードアクセス/ライトアクセスはもちろん
バッファIOでアクセスするかダイレクトIOでアクセスするかの指定も含まれている
テキトーな値にしたら動かないだろ
874デフォルトの名無しさん:2009/05/27(水) 11:44:21
うるさい黙れ
875デフォルトの名無しさん:2009/05/27(水) 12:14:51
すいません
876デフォルトの名無しさん:2009/05/27(水) 12:22:35
既に結論でてるのに偉そうにダウトとか何様のつもりだ
877デフォルトの名無しさん:2009/05/27(水) 15:07:26
>>876
いつ結論出たっけ?
878デフォルトの名無しさん:2009/05/27(水) 15:11:14
ダウトとか馬鹿みたいってこと?
879デフォルトの名無しさん:2009/05/27(水) 15:14:30
回答者のくせに少し上のレスも見てないのか
880デフォルトの名無しさん:2009/05/27(水) 15:20:00
ダウト?w
881デフォルトの名無しさん:2009/05/27(水) 15:28:25
ダウト!w
882デフォルトの名無しさん:2009/05/27(水) 15:30:22
僕がダウトです!
883デフォルトの名無しさん:2009/05/27(水) 17:10:44
存在がダウト
884デフォルトの名無しさん:2009/05/27(水) 17:21:12
前から気になってたけど、2chではダウトって言葉を間違って使われているな。
ダウトは「疑う」であって、明らかに間違っていることに対して使うのは変だよ。
トランプのダウトは裏返しに出すから、ダウトなんだよ。

スレ違いだが、一度言っておきたかったので。
885デフォルトの名無しさん:2009/05/27(水) 17:21:50
>>884 = ダウト
886デフォルトの名無しさん:2009/05/27(水) 17:50:47
Sleep(INFINITE)って、49.7日が経過しても起きたりしない?
887デフォルトの名無しさん:2009/05/27(水) 17:55:24
NT系なら
888デフォルトの名無しさん:2009/05/27(水) 19:56:23
>>886
ヒント:OSの時計いじって試す
889デフォルトの名無しさん:2009/05/27(水) 20:02:56
>>888
いじれない時計もある
890デフォルトの名無しさん:2009/05/27(水) 20:13:52
>>889
kwsk
891デフォルトの名無しさん:2009/05/27(水) 20:21:09
>>888
SleepがPCの内蔵時計ベースで動いてると思ってるのかこの馬鹿w
892デフォルトの名無しさん:2009/05/27(水) 20:26:47
>>888
こういうアホがなんで技術系の板にいるの?
893デフォルトの名無しさん:2009/05/27(水) 20:30:09
OSの時計なんていじっても無駄。

>>886
ヒント:タイムマシンに乗って49.7日後へ行って試す
894デフォルトの名無しさん:2009/05/27(水) 20:32:16
>>892
GetTickCount の値を自由に操作できる?
895デフォルトの名無しさん:2009/05/27(水) 20:58:55
>>886と同じ質問を以前このスレでしたことあったのに、そのときは誰もレスくれなかった。くやしい…ビクンビクン
896デフォルトの名無しさん:2009/05/27(水) 21:01:11
2chではよくあること
897デフォルトの名無しさん:2009/05/27(水) 21:04:01
>>886
永眠したら四拾九日が経過しても起きたりしない。
百箇日を過ぎても、だ。
898デフォルトの名無しさん:2009/05/27(水) 21:55:41
つまり、INFINITEは内部的には0xffffffff_秒という値ではなく
「永眠しろ」を意味するフラグとして扱われてるってことか。
899859:2009/05/27(水) 21:59:37
>>873
さっき帰宅して返信が遅れましたが、
IOCTL_ID_DEBUGの値を変えたら
正常にアドレス取得できました!

>コントロールコードは意味のある値だよ
そうだったんですね。
全然意識せずに適当な値を使ってました
その辺をもう少し調べて気をつけるようにします。


本当にありがとうございました。
900デフォルトの名無しさん:2009/05/27(水) 22:00:22
本当に死ね
901デフォルトの名無しさん:2009/05/27(水) 22:01:31
0xffffffff_秒が DWORD値で何秒か知ってる?
902デフォルトの名無しさん:2009/05/27(水) 22:11:23
知らなくていい死ね
903デフォルトの名無しさん:2009/05/27(水) 22:16:04
人は生きろと言われても生き続けるのは難しいが
死ねと言われなくても死んでしまう

お前の嫌いなあいつだって気長に待てば勝手にくたばるさ
904デフォルトの名無しさん:2009/05/27(水) 22:18:09
待たなくていい死ね
905デフォルトの名無しさん:2009/05/27(水) 22:39:24
>>901
49.7日と散々出てるだろ
さっさと死ね
906デフォルトの名無しさん:2009/05/27(水) 22:39:26
生きたいならC+を勉強しろ
907デフォルトの名無しさん:2009/05/27(水) 22:42:56
APIの知識が無くてレスもロクに読まずに脊髄反射で書き込む馬鹿が居ついてる。
908デフォルトの名無しさん:2009/05/27(水) 22:43:13
>>905
バカだな、こいつ
909デフォルトの名無しさん:2009/05/27(水) 22:48:33
>>908
ん?悔しかったの?www
910デフォルトの名無しさん:2009/05/27(水) 22:54:08
>>876
結局結論ってどれを指してるの?
911デフォルトの名無しさん:2009/05/27(水) 22:57:46
912デフォルトの名無しさん:2009/05/28(木) 01:19:39
WinAPIでデフォルト引数がついてつ奴ってあるじゃないですか。
あれってC++の機能ですよね?
でもそういうAPIって普通にCから使えますよね。
で、自分でデフォルト引数を使ったエクスポート関数のある
C++のDLLを作ったんですけど、Cからは使えないんですよ。
関数が初期化されようとしました、とかいって。
一応DLL側でextern "C"とかは入れて関数名はCっぽく
なってるんですけど、やっぱりC++のDLLはC++からしか
使えないんですかね?デフォルト引数とか使ってしまうと。
913デフォルトの名無しさん:2009/05/28(木) 01:24:15
>>912
お題:デフォルト引数
914デフォルトの名無しさん:2009/05/28(木) 02:24:41
開発していたゲームが急にfps60からfps30ぐらいになったので色々調べた所、
begin = timeGetTime();
for(size_t i=0; i<60; ++i)
Sleep(16);
end = timeGetTime();
ってやるとend-beginが1800ぐらいになった。
Sleepに200ぐらいを指定するとほぼ正しい時間スリープするけど
2桁ぐらいの小さい数字を指定すると、指定した時間の2倍近くスリープするようなんだ。
もしかしたら自分の書いたコードのどこかにバグがあるだけかもしれないけど
vistaをSP1からSP2にアップデートしたのでそれが原因かもしれない。
mingw-3.4.5とmsvc2008の両方で試したけど同じ結果だった。

もし原因がわかる人がいたら教えて下さい。
それともSleepにそんな精度を求める事自体間違っているんでしょうか。
もしよかったら、Sleep(16)でほぼ16msスリープするか試してみて下さい。

915デフォルトの名無しさん:2009/05/28(木) 02:33:45
Sleep()の説明をMSDNで読んでから質問しろ
916デフォルトの名無しさん:2009/05/28(木) 02:45:09
日本語版を読んで「よく分かりません」と返してくるというオチに10セント
917デフォルトの名無しさん:2009/05/28(木) 03:08:09
Googleって設定で「メニューやテキストの言語」を英語にしないと
ウェブ全体から検索しても日本語のサイトばっかりになるのがウザイ

しかもマイナーなAPIを検索したら、語句が似てるだけで
全然違う検索結果を上位に表示する機能がすげぇ邪魔

なんかリニューアルする度にどんどんお節介になってくるし、もう潮時か?


とりあえず、MSDN英語版の検索には全然使えなくなっちゃったよ
918デフォルトの名無しさん:2009/05/28(木) 03:25:37
はいはいそれでそれで?
919デフォルトの名無しさん:2009/05/28(木) 03:40:33
Googleが使いにくくなった以上、質問する前にググれなんて的外れもいいとこ。
920デフォルトの名無しさん:2009/05/28(木) 03:44:24
ググれなんて言ってねーし。MSDNで検索すればいいだけだよな。
921デフォルトの名無しさん:2009/05/28(木) 04:03:13
そうだね^^
922デフォルトの名無しさん:2009/05/28(木) 04:07:12
>>914
WinMainの頭にでもtimeBeginPeriod(1)って入れてみな
923デフォルトの名無しさん:2009/05/28(木) 04:15:01
えっ
924デフォルトの名無しさん:2009/05/28(木) 04:19:07
えっていう
925デフォルトの名無しさん:2009/05/28(木) 04:22:11
なにそれこわい
926デフォルトの名無しさん:2009/05/28(木) 04:58:56
>>922
ゲームの単位時間ループみたいに、ある程度正確な時間を計ることが
要求されるとき::Sleep()を使うのはどうかという問題じゃないのか。
timeBeginPeriod()/Sleep()じゃ、環境間のばらつきがありすぎるだろ。
927デフォルトの名無しさん:2009/05/28(木) 05:23:03
>>926
914が今知りたいのは、Sleepの精度が急に落ちた原因だろう。
その答えが、timeBeginPeriodがSleepの精度にも影響するという事実。
928デフォルトの名無しさん:2009/05/28(木) 06:03:10
>>884
このレスを境に「ダウト」とか突っ込んでくるおっさんのレスがほとんどなくなったりしてなw
929デフォルトの名無しさん:2009/05/28(木) 06:06:57
ダウト
930デフォルトの名無しさん:2009/05/28(木) 10:14:55
本当のこと言ってるように見せかけた嘘だからダウトなんだろう
931デフォルトの名無しさん:2009/05/28(木) 10:48:17
1ms 精度の 時間経過計測はできても
1ms 精度の スレッド待機は(実質的に)できない

Sleep(x) は x ms 以上スリープすることを保証しているだけで
x ms 後に必ず wake することは保証していない
932デフォルトの名無しさん:2009/05/28(木) 11:31:44
914です。
みなさん、アドバイスありがとうございます。
MSDNを読んでSleepが他のスレッドに処理を移し、指定された時間だけ呼び出し元スレッドに戻らないという事は知っていました。
しかし今まで16を指定するとほぼ16msで戻ってきていたのが、急に精度が悪くなったので質問しました。

>>925
確かに正確にfpsをキープするのにSleepだけなのは問題ですが
手を抜きたかったのと、自分のPCでは十分な精度があったので使っていました。

今もう一度Sleep(16)を試してみたところ、以前と同様の精度に戻っていました。
昨晩は何か重たいスレッドでも動いていたのでしょうか・・・。
プログラムを動かす前はCPU使用率がほぼ0%でCPUもcore2quadを使ってるんですが。

今度からはSleepに頼らずにちゃんとウェイト処理を実装しようと思います。
みなさん、どうもありがとうございました。
933デフォルトの名無しさん:2009/05/28(木) 11:36:19
>>932
だから試しにtimeBeginPeriodにいろいろ値を入れて試してみてよ。
同時に動く別アプリで設定してみても面白いぞ。
934デフォルトの名無しさん:2009/05/28(木) 13:42:54
>>932
timeBeginPeriodの設定はシステムグローバルなので、
他のアプリケーションが設定するだけで影響する。
935デフォルトの名無しさん:2009/05/28(木) 14:12:44
RasDialを使ってダイヤルアップ接続をしてるのですが
指定したエントリ名が現在接続されているかどうかを
識別する方法を教えてください
936デフォルトの名無しさん:2009/05/28(木) 17:15:57
その指定したエントリ名がRasEnumConnectionsの結果に
入っているかを確認するとか。
937デフォルトの名無しさん:2009/05/28(木) 17:42:19
普通にRasGetConnectStatusでできちゃった^^
938デフォルトの名無しさん:2009/05/28(木) 19:44:29
ファイルマッピングオブジェクトのサイズはどうやって調べるのですか?
ハンドルをGetFileSizeに渡して使うと無効なハンドルというエラーが出ます。
939デフォルトの名無しさん:2009/05/28(木) 22:09:56
アマレココのDirect3D9キャプチャプラグインが作りたいと思っています。
それには絶対Direct3DのAPIをフックする必要があるので、DirectDrawSurface7キャプチャプラグインを
改造して作ろうと思ったんですが、DLLエクスポートじゃない関数をフックする方法が分かりません・・。
ddHookTarget(インプラントのDLL)では、下のようにしてIDirectDrawSurface::FlipとBltの関数アドレスを
取得しているようですが、なぜ44と20なんでしょうか?

Direct3D9ならIDirect3DDevice9::EndSceneをフックすればFPS表示、キャプチャできるかな・・

LPDIRECTDRAWSURFACE7 pdds;
DIRECTDRAWFLIP pFlip; // 本来の関数アドレス:第一フック・フリップ用
DIRECTDRAWBLT pBlt; // 本来の関数アドレス:第一フック・ブリット用

pFlip = (DIRECTDRAWFLIP)*(DWORD *)(*(DWORD *)pdds + 44);
pBlt = (DIRECTDRAWBLT )*(DWORD *)(*(DWORD *)pdds + 20);
940デフォルトの名無しさん:2009/05/28(木) 22:13:02
その程度も分からんようならAPIフックなんてやめとけ
941デフォルトの名無しさん:2009/05/28(木) 23:54:42
>>938
考え方自体が間違っている
942デフォルトの名無しさん:2009/05/29(金) 17:12:13
SetForegroundWindowでアクティブにしようとしても
たまにタイトルバーだけ点滅してアクティブになってくれない時があるのですが
どうしたら正常にアクティブになってくれますか?
943デフォルトの名無しさん:2009/05/29(金) 17:14:14
いやアクティブにならないと言うより最前面にこないって感じです
944デフォルトの名無しさん:2009/05/29(金) 17:18:59
>>942
SetForegroundWindowの前に
AttachThreadInput
945デフォルトの名無しさん:2009/05/29(金) 17:21:07
勝手にPOPされるのがウザイのでMSが仕様変更して出来ないようにしました。
AttachThreadInputで何とかなる場合もあるが万能ではない。

>この旧バージョンからの変更により、アプリケーションは、ユーザーが他のウィンドウで作業しているときに
>強制的にフォアグラウンドウィンドウを設定することはできなくなりました。
>その代わりに、SetForegroundWindow 関数は、ウィンドウをアクティブにし(SetActiveWindow 関数の説明を参照)、
>関数を呼び出してユーザーに通知します。詳細については、「」を参照してください。
946デフォルトの名無しさん:2009/05/29(金) 17:40:14
>>944-945
AttachThreadInputつかってるサイトを参考にやってみますた
とりあえずこれで暫く様子みてみまふ
947デフォルトの名無しさん:2009/05/29(金) 18:23:45
勝手に最前面に出るのが良くないからわざわざ仕様変更したのにな。

最前面に出したがる>>946のような低脳プログラマは絶滅してほしい。
948デフォルトの名無しさん:2009/05/29(金) 18:37:29
まあまあ
949デフォルトの名無しさん:2009/05/29(金) 22:55:36
同意
950デフォルトの名無しさん:2009/05/29(金) 23:41:08
ていうかイベント通知系アプリで最前面にでないと逆に意味なくね?
影でこっそり「ジカンダヨー」(ボソ)って馬鹿かとwアフォかとw
951デフォルトの名無しさん:2009/05/29(金) 23:53:49
馬鹿は黙ってろ
952デフォルトの名無しさん:2009/05/29(金) 23:57:12
>>950
目覚ましと時計の人はお引き取りください。
953デフォルトの名無しさん:2009/05/30(土) 00:01:49
すいません
PostMessageなどで発行したメッセージのキューにどの程度溜まってるか知る方法はありますか?
APIでもツールでもどちらでも構いません
ウィンドウズ全体での数が分かると最高です
954デフォルトの名無しさん:2009/05/30(土) 00:03:51
またウィルスか
955デフォルトの名無しさん:2009/05/30(土) 00:45:06
メッセージキューが溜まり続けて一杯になってるからフリーズしています
と愉快な言い訳されてるから反証を叩きつけたいの。

大体SendMessageがメッセージキュー使うのかよ……?
956デフォルトの名無しさん:2009/05/30(土) 01:10:45
一杯になったら破棄されるだけだろ
アホか
957デフォルトの名無しさん:2009/05/30(土) 01:12:29
破棄じゃねえよ。PostMessageがFALSE返してお終い。

反証するまでも無くどっかでブロックされてるのは明らかだわ。
958デフォルトの名無しさん:2009/05/30(土) 01:16:32
>>955
フリーズっていうと、無限ループ、IOのread、排他処理用のロックで待ち
とかありがちだけど、
無限ループならCPU使用量から推測、後者なら userdump や ADPlus で
ダンプとって、どのAPI呼び出したところで停止してるかとかから
調べられないかな?
959デフォルトの名無しさん:2009/05/30(土) 01:20:45
そういえば、固まったアプリに対してキーボードを打ち続けると、
途中からビープ音がなるよな?

あれってキューがいっぱい、ってことではない?
960デフォルトの名無しさん:2009/05/30(土) 02:54:13
windowsアプリのスケルトンを書き直してるんだが
C++でちゃんとクラスに分けるのって難しいよな
今は、

CApplication;//HINSTANCE保持、多重起動防止
CWindow;//HWND保持、メッセージループ

な分け方をしてるんだが、どうも綺麗じゃない
うまい方法を知ってる人がいたら教えて欲しい
961デフォルトの名無しさん:2009/05/30(土) 03:09:35
MVCやMVPパターンで作ってみては?
自分はMVPが好き
962デフォルトの名無しさん:2009/05/30(土) 03:14:30
>>961
thx!デザインパターン的なものがあったのか
963デフォルトの名無しさん:2009/05/31(日) 02:29:57
.Netで使われているようなビジュアルスタイルなメニューをC++で動かす方法はない?
964デフォルトの名無しさん:2009/05/31(日) 02:33:45
CLI、かな
あれをC++とは思いたくないが・・・
965デフォルトの名無しさん:2009/06/01(月) 06:42:57
ビジュアルスタイルなメニューって、Office2003の劣化コピーしたようなアレの事か?w
フリーソフトのスクショであれを見ると.NET製なのが一目で分かってDLする気が失せる。
966デフォルトの名無しさん:2009/06/01(月) 09:32:44
VS2008SP1のMFC使う
967デフォルトの名無しさん:2009/06/01(月) 12:31:26
Win32++がいいんじゃないかな?
968デフォルトの名無しさん:2009/06/01(月) 14:06:14
リストビューのカラムにイメージを表示させるのは

HDITEM hi = new HDITEM();
// HDITEM 取得
hi.mask = HDI_FORMAT;
SendMessage(columnHandle, HDM_GETITEMA, headerIndex, ref hi);
// 設定
hi.mask = HDI_IMAGE|HDI_FORMAT;
hi.fmt |= HDF_IMAGE; // 取得しておいたフォーマットに HDF_IMAGE 追加
hi.iImage = imageIndex; // ImageListのID
SendMessage(columnHandle, HDM_SETITEMA, headerIndex, ref hi);

この方法で出来たのですが、カラムのイメージを非表示に戻すにはどうやったらいいのでしょうか?

hi.iImage = -1

とかにしてみたんですがエラーが出てしまいます。
969デフォルトの名無しさん:2009/06/01(月) 14:15:22
第一それコンパイル通ってるのか
970デフォルトの名無しさん:2009/06/01(月) 14:17:59
> HDITEM hi = new HDITEM();

俺も一瞬コンパイル通るのかと思ったがC丼じゃねーの?
つーかC丼ならAPIなんか使わなくても出来るだろ
971デフォルトの名無しさん:2009/06/01(月) 14:27:42
>>969
>>970
すいません。
上のソースを元にDelphiでAPIを使って動かしてます。
一応、上のソースをDelphiに書き換えたらコンパイル通ります。
CやC#をほとんど使ったことがないので
上のはCのソースコートと思って書き込んでしまいました。
972デフォルトの名無しさん:2009/06/01(月) 14:35:05
だったらその「元」のソースがあるHPで聞けばいいだろ
973デフォルトの名無しさん:2009/06/01(月) 15:02:56
>>968
普通に逆操作すればいいだけだろ…
974デフォルトの名無しさん:2009/06/01(月) 15:07:46
>>967
気になって調べたんだが、これ日本語ドキュメントとかって存在する?
975デフォルトの名無しさん:2009/06/01(月) 15:18:04
ねーよそんなもん。
976デフォルトの名無しさん:2009/06/01(月) 18:55:34
じゃあ、プランBでいこうか
977デフォルトの名無しさん:2009/06/01(月) 23:11:43
>971
hi.fmt |= HDF_IMAGE;
これを逆にして
hi.fmt &= ~HDF_IMAGE;
じゃ駄目?
978デフォルトの名無しさん:2009/06/01(月) 23:41:03
HDITEMに対してHDM_SETITEMAと決め打ちしてたり、もうねぇ
979デフォルトの名無しさん:2009/06/02(火) 09:54:20
nn
980デフォルトの名無しさん:2009/06/02(火) 17:51:42
お前らのPCに侵入してHDをフォーマットするAPIを教えてください
981デフォルトの名無しさん:2009/06/02(火) 22:39:43
realbasicでWINのAPI使ってる方いらっしゃいますか?
982デフォルトの名無しさん:2009/06/03(水) 10:42:37
お客様の中に
983デフォルトの名無しさん:2009/06/03(水) 11:20:23
test
984デフォルトの名無しさん:2009/06/03(水) 11:42:26
unko
985デフォルトの名無しさん:2009/06/03(水) 15:20:01
マルチディスプレイ環境で、とある座標がどれかのディスプレイに収まっているかを調べるにはどうすればいいですか?
GetWindowRect(GetDesktopWindow(), ...) だとプライマリディスプレイについてしか
調べることができません。
986デフォルトの名無しさん:2009/06/03(水) 15:34:27
MonitorFromRectとか〜Pointのことか?
987デフォルトの名無しさん:2009/06/03(水) 16:04:24
ちげーよw
988デフォルトの名無しさん:2009/06/03(水) 17:05:42
>>985
結果を何で取得したいのかによって異なる。
モニタハンドルでいいなら、MonitorFromXXXでOK。
989デフォルトの名無しさん:2009/06/03(水) 17:56:08
ウィンドウハンドルからIMEがONかOFFかを識別する方法と教えてください
990デフォルトの名無しさん:2009/06/03(水) 18:37:25
ちなみに、
FindWindowで取得したハンドルにImmGetContextをして
ImmGetOpenStatusをやるとダメですが
自分のフォームとかのハンドルを与えるとちゃんと取れます。
これをFindWindowで取ったハンドルでも取得する方法を教えてください
991デフォルトの名無しさん:2009/06/03(水) 23:36:07
SendMessage(ImmGetDefaultIMEWnd(hwnd), WM_IME_CONTROL, IMC_GETOPENSTATUS, 0)
992デフォルトの名無しさん:2009/06/04(木) 00:57:17
次スレ↓
993デフォルトの名無しさん:2009/06/04(木) 04:24:48
…了解
994デフォルトの名無しさん:2009/06/04(木) 04:30:52
995デフォルトの名無しさん:2009/06/04(木) 14:29:35
>>991
でけますた!
ありがとうありがとう
996デフォルトの名無しさん:2009/06/05(金) 13:59:23
WinMain() の質問箱は此処ですか?
997デフォルトの名無しさん:2009/06/05(金) 14:13:06
言語のスレだな
CならCスレ
998デフォルトの名無しさん:2009/06/05(金) 14:17:26
main()ならC言語だけど、WinMain()ならWin32APIでいいんじゃないの?
内容にもよるけど
999デフォルトの名無しさん:2009/06/05(金) 14:39:10
え?
1000デフォルトの名無しさん:2009/06/05(金) 14:48:50
コールバックやエントリポイントは当然APIの範疇
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。