Win32API質問箱 Build74at TECH
Win32API質問箱 Build74 - 暇つぶし2ch39:デフォルトの名無しさん
08/12/15 19:08:39
>>36さん
ReadFile()で2バイト取得し、比較し同じだったらforループから抜ける。
同じじゃなかったらSetFilePointer()で14バイト進めるの繰り返しでいいんでしょうか?
あと、見つからなかった場合forループから抜けたいのですが
条件式がどう書いていいのかがわかりません。
回答よろしくお願いします。


40:デフォルトの名無しさん
08/12/15 19:11:36
16バイトずつ読んでいけばいいじゃん

41:デフォルトの名無しさん
08/12/15 19:13:18
API以前のレベルだな
手近な初心者向けのスレへどうぞ

42:名無し募集中。。。
08/12/15 19:14:27
BCDは2進化10進数って事なら、数値化すればいいじゃない
BCDを数値化するWin32APIは用意されていないから自分で組むしかないけど簡単でしょ

43:デフォルトの名無しさん
08/12/15 19:14:37
>>39
do
読み込みとか
eofのチェック
until 一致条件

でいいんじゃねーの
っていうか何がAPI?

44:デフォルトの名無しさん
08/12/15 19:14:43
>>40さん
あ、そうですね。
期限が近くて、あんまり考える時間がないのですみません。

45:デフォルトの名無しさん
08/12/15 19:14:56
>>41
APIでやりたいんです。

46:デフォルトの名無しさん
08/12/15 19:16:00
>>44
ヒント:宿題スレ

47:デフォルトの名無しさん
08/12/15 19:19:14
進めるのは14バイトじゃないのか。
16バイトの塊の先頭2バイトは読んじゃうからとんでるんじゃ。

48:デフォルトの名無しさん
08/12/15 19:49:50
>>45
APIを使うか使わないかではなく、お前の質問内容が初歩の初歩だということ
まあそれすらも理解できないからここに書いたんだろうけど

49:デフォルトの名無しさん
08/12/15 19:59:18
>47
40の話なら、16バイト読んで、読んだもののうち先頭の2バイト分だけで判定する、って意味だろう。


50:デフォルトの名無しさん
08/12/15 20:08:16
>>49
おっさんはそんなことも分からないの普通
だから、おっさん

51:デフォルトの名無しさん
08/12/15 20:22:46
日本語でおk

52:デフォルトの名無しさん
08/12/15 20:47:25
>>50
さあ目覚ましと時計をうpするんだ。

53:デフォルトの名無しさん
08/12/15 20:48:10
また粘着か

54:デフォルトの名無しさん
08/12/15 21:17:54
>>52
だから、おっさんなんだよ
どうした、おっさん

55:デフォルトの名無しさん
08/12/15 21:38:45
おっさんは手を挙げて!


56:デフォルトの名無しさん
08/12/15 21:39:48


57:デフォルトの名無しさん
08/12/15 22:43:50
おっさん連呼してる奴もらあっという間におっさん
俺も気がついたら26・・・・ヤバイ

58:デフォルトの名無しさん
08/12/15 23:05:28
そっから早いしな

59:デフォルトの名無しさん
08/12/15 23:08:52
カーネルオブジェクトのハンドルの参照カウンタを知る事は可能ですか?
デバッグ用途に使えたらいいなと思ってるのですが

60:デフォルトの名無しさん
08/12/15 23:11:45
>>59
非公開API を使えば可能。

61:デフォルトの名無しさん
08/12/16 00:18:03
Windowにjpeg表示したい訳だが、

62:デフォルトの名無しさん
08/12/16 00:21:35
>>61
OleLoadPictureとかGDI+とか

63:デフォルトの名無しさん
08/12/16 00:22:16
童貞を捨てたいんです

64:デフォルトの名無しさん
08/12/16 00:44:34


65:デフォルトの名無しさん
08/12/16 12:15:03
>>63
無理な質問しないでください。困るだけです。

66:デフォルトの名無しさん
08/12/16 17:15:01
>>59
ハンドル自体には参照カウンタは無い

67:デフォルトの名無しさん
08/12/16 17:59:42
SetCurrentDirectory("C:\Documents and Settings\~");
みたいにしようと思ったんですが、LPCWSTRにしろって言われます。簡単なキャストの方法を教えてください

68:デフォルトの名無しさん
08/12/16 18:03:32
SetCurrentDirectory(TEXT("C:\Documents and Settings\~"));

69:デフォルトの名無しさん
08/12/16 18:46:26
>>68
どーも

70:デフォルトの名無しさん
08/12/16 18:48:11
あれ?コンパイルできません

1>.\main.cpp(256) : warning C4129: 'D' : エスケープ シーケンスとして正しく認識されませんでした。

みたいにいわれます

71:デフォルトの名無しさん
08/12/16 18:59:27
言語環境スレとC初心者スレへどうぞ

72:デフォルトの名無しさん
08/12/16 19:00:07
>>70
\ を \\ に

73:デフォルトの名無しさん
08/12/16 19:07:08
【限定特価】「カードキャプターさくら」が81,900円でBlu-ray BOX化 
スレリンク(news板)

74:デフォルトの名無しさん
08/12/16 19:19:57
最近スレ違いの質問が多すぎだが、C++/Win32のブームでも来てるのか?

75:デフォルトの名無しさん
08/12/16 19:27:08
エスケープシーケンスすら理解できないんじゃなあ。
下手に答えると下らない事でまた来るぞ。

76:デフォルトの名無しさん
08/12/16 19:33:55
printfのwin32api版は何なの?

77:デフォルトの名無しさん
08/12/16 19:45:52
>>76
msvcrt.dllにあるprintf

78:デフォルトの名無しさん
08/12/16 20:04:06
テンプレは適当に読むこともあるけどそれに従う理由はない

79:デフォルトの名無しさん
08/12/16 20:05:40
答える理由も無いぜ。カス。

80:デフォルトの名無しさん
08/12/16 20:08:08
>>78
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索してはいけません。
・日本語版MSDN Online Libraryは完全です。英語版(URLリンク(msdn2.microsoft.com))の利用反対。
・APIフックなど低俗な事をしたい場合は何も読まず質問しましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問を大いにしましょう。

こうですね><

81:デフォルトの名無しさん
08/12/16 20:19:03
誰もが高確率で見ているのはスレタイぐらいという現実から目を背けた理想論は空しい

82:デフォルトの名無しさん
08/12/16 20:27:33
明らかにテンプレをまったく読んでいないヤツの質問に答えたいと思うかどうかと言われれば、それでも答えてやりたいというヤツは希少種だろうけどな。

83:デフォルトの名無しさん
08/12/16 20:30:54
次回からスレタイ変えればいいんじゃね

【質問する前に】Win32API質問箱 Build 75【ググレカス】

84:デフォルトの名無しさん
08/12/16 20:39:49
別にググれとまでは言わないけど
言語の制御構造上の問題とか、文法の話とかはどっか行ってよ

85:デフォルトの名無しさん
08/12/16 20:40:53
ああ、ギザギザかからないようにするには自分で線かかせるしかないのか・・・やるか

86:デフォルトの名無しさん
08/12/16 23:24:13
【おっさんの】Win32API質問箱 Build 75【談話室】


87:デフォルトの名無しさん
08/12/16 23:36:40
>>86
よ、目覚まし

88:デフォルトの名無しさん
08/12/16 23:43:05
【おっさんと目覚ましの】Win32API質問箱 Build 75【憩いの談話室】

89:デフォルトの名無しさん
08/12/16 23:44:27
ほんとここって
ただの罵り合いのためだけのスレだよな

90:デフォルトの名無しさん
08/12/16 23:45:01
だがそれは良くないな

91:デフォルトの名無しさん
08/12/16 23:55:12
>罵り合いのためだけ
語らいと言ってくれ

92:デフォルトの名無しさん
08/12/17 07:44:15
グッコレ「魔法少女リリカルなのはStrikerS」についにシャマルが登場!
体の各関節が可動するのは勿論、今回も多様なオプションパーツが付属!
なんと表情は4種類も付属!シャマルの麗しい表情の数々を完全再現!

【商品名】
 グッとくるフィギュアコレクション11 魔法少女リリカルなのはStrikerS シャマル 完成品フィギュア《予約商品02月発売》
【商品コード】 FIG-MOE-0441
【メーカー】 シーエムズコーポレーション
【発売日】 09年02月中旬
【シリーズ名】 グッとくるフィギュアコレクション
【原作名】 魔法少女リリカルなのはStrikerS
【コピーライト】 (C)なのはStrikerS PROJECT
【製品仕様】
塗装済完成品
 サイズ:全高 約210mm
 材質:PVC/ABS/ナイロン
 パッケージ:ウィンドウボックス
【標準小売価格】 10,290円(税込)

URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)

あみあみ
URLリンク(www.amiami.com)

魔法少女リリカルなのはシリーズ 公式サイト
URLリンク(nanoha.com)

93:デフォルトの名無しさん
08/12/17 10:55:51
既出なら申し訳ありませんが、
自前のソフトで始めて「印刷設定」をVista機で操作したら動かない。
PageSetupDlg() が PDERROR_INITFAILURE を返してくる。
それは FAQ で、こうしろとかあったら教えて下さい。
尚、VC++6.0 非unicodeでのコンパイル版は Xp機で dialog が出ます。
この版でも Vista 機では dialog が出ません。


94:デフォルトの名無しさん
08/12/17 11:35:24
>>93
情報が少なすぎ。

やり直し

95:デフォルトの名無しさん
08/12/17 11:47:11
>>93
とりあえず、↓のサンプルコピって動かしてみたら?
URLリンク(msdn.microsoft.com)(VS.85).aspx

96:デフォルトの名無しさん
08/12/17 12:38:52
どうせ構造体の初期化忘れとかそのレベルだろ

97:93
08/12/17 23:31:37
>>95
教えて頂きありがとうございます。
既にご紹介のサンプルと同じコードでやっており、VC++2008EE でのコンパイル
も通りますが、実行すると音なしです。PaintHook() を入れる例も試しました。
サンプルの PaintHook() は cast 不足のエラーが2箇所出ます。
厳密に違うところは、margin の単位指定が、自分のは mm でサンプルは inch
のみです。

98:デフォルトの名無しさん
08/12/18 02:34:07
質問させていただきます
途中でウィンドウプロシージャを変更する処理を書いているのですが
prevWndProc→newWndProc
と変更するとき、prevWndProcには変更したときに何かメッセージが送られるのでしょうか?


99:デフォルトの名無しさん
08/12/18 02:37:30
>>96
禿げ胴!

HWND hwnd;

psd.hwndOwner = hwnd;

Xpで動いたのは偶然hwndの値が0(NULL)だったとかで、コピペしたままで
hwndの値が不定なんじゃねぇの?

100:デフォルトの名無しさん
08/12/18 02:47:57
>>98
WM_WINDOWPROCCHANGING/WM_WINDOWPROCCHANGED


というのは嘘

101:デフォルトの名無しさん
08/12/18 06:17:59
APIの質問じゃなくて悪いんだけど、VSでF5押して実行すると実行後の終了処理に
時間がかかる。
ビルドが速いだけに残念です。
どこかのスレでこれを速くする方法を見た記憶があるが失念した。
知ってる人がいたら教えてください。
よろしく。

102:デフォルトの名無しさん
08/12/18 07:47:54
あなたと私は

103:デフォルトの名無しさん
08/12/18 07:50:44
スレ違い

104:デフォルトの名無しさん
08/12/18 10:17:32
VSの質問はVSのスレで聞いてくれ。
つーか、この程度聞く前に調べたほうが早いけど。
スタートアップの設定な。

105:97-93
08/12/18 10:53:00
>>99
レスをどうも。
自分は開いている文書の Edit control handle を渡していました。
念のため、これを NULL にして試しましたが、結果は同じでした。

106:105-93
08/12/18 11:35:49
自己レス。
ネットでのぐぐり方が悪かったのですが、↓のような記事がありました。
h URLリンク(forums.microsoft.com)
「Vista PageSetupDlg」でぐぐると他にもあります。
しかし、ワードパッドでは出るんですよね。しかも Xp機と同じ形。
VC++2008EE でも文書を開いてメニューを開くと「ページ設定...」が使えるように
なる。形はワードパッドとは違う。独自に PaintHookで描いているんでしょうか。


107:デフォルトの名無しさん
08/12/18 13:03:53
>>96はスルーですかそうですか。

108:デフォルトの名無しさん
08/12/18 15:12:30
てか、>>97
>サンプルの PaintHook() は cast 不足のエラーが2箇所出ます。

これ、コンパイルエラー出たから試しもしなかったってことか?
コンパイルエラー取り除いて実行したら、Vistaで普通に表示されるんだけどw

109:デフォルトの名無しさん
08/12/18 15:26:30
日記書きたいだけの馬鹿はスルーでおk

110:デフォルトの名無しさん
08/12/18 15:26:40
コンパイルエラーを取り除く方法が分からない、に一票

111:デフォルトの名無しさん
08/12/18 16:33:05
答える気がないなら黙ってて

112:デフォルトの名無しさん
08/12/18 16:34:21
>>110
知らないならレスしないでください。ウザイだけです。

113:デフォルトの名無しさん
08/12/18 16:39:15
>>106
そのリンク先、ページセットアップダイアログで、Vistaだと
ダイアログは出るけど「プリンタの設定」ボタンが出ないってだけじゃないか。

114:106-93
08/12/18 18:09:51
>>108
cast つけてコンパイルしました。コード不足でも兎に角ダイアログが出て
くれれば思っていました。(サンプルがちょっと古いのに心配はあった)

>>113
その通りです。ただちょっと自分の早合点もあるのですが、VC++2008EE の
ページ設定で出てくるダイアログには、「プリンタ(p)...」のボタンがある
のです。VC++2008EE は自前で処理していると理解しました。
(その後調べたら、VS9.0→Common7→IDE→1041 にある msenvui.dll に
 テンプレート定義がありました。)
ますます、Vista 本来の PageSetupDlg() は(VC++2008EE も使わないほど)
あやしいと思うようになりましたが、>>108さんのレスで思い直し始めている
ところです。

関係ないと思いますが、プリンタは PIXUS iP1500 です。キヤノンのペー
ジによれば Vista プリインストールのドライバでいいと言ってます。

115:デフォルトの名無しさん
08/12/18 18:54:12
VSというかMSOffice系はずっと前からコモンダイアログを自前で用意してる訳だが

サンプルが古いだのVistaのAPIが悪いとか決め付ける前に自分で努力しろ

116:デフォルトの名無しさん
08/12/18 19:15:20
>>114
新規でプロジェクト起こして、単にPageSetupDlg出すだけのアプリかいてみたら?

117:デフォルトの名無しさん
08/12/18 19:48:50
「萌え米」、1ヶ月で2年分の売上で秋田のジジイどもウハウハ
スレリンク(news板)

118:デフォルトの名無しさん
08/12/18 21:27:55
マジキチwwwww萌え絵つけただけでそれだけ売れるとかボロイ商売だな、オイwww

119:デフォルトの名無しさん
08/12/18 21:46:23
任意のプロセスが使用している名前付きカーネルオブジェクトの一覧を取得したいのですが、
どの様な方法がありますか?

ググったんですが見つからない・・

↓このツールは表示できてるみたい(名前を表示するには管理者権限が必要?)
なので、方法はあるんでしょうけど・・
URLリンク(www001.upp.so-net.ne.jp)

120:デフォルトの名無しさん
08/12/18 21:50:11
>>119
だったらそのツールを使ってればいいだろ

121:デフォルトの名無しさん
08/12/18 21:53:16
>>118
普通同じ値段なら、萌え絵あるの買うだろ

122:デフォルトの名無しさん
08/12/18 21:54:07
dependency walkerとかで覗いて見たら良いんじゃないの?
APIで読み込んでるなら出るでしょ

123:デフォルトの名無しさん
08/12/18 21:56:57
その手のツールは大抵Sysinternalsに転がってるし、わざわざ自分で作るまでも無いだろ
自分で作りたけりゃntoskrnlの逆アセでもしてろ

124:119
08/12/18 22:03:56
いや純粋に名前の一覧を見たいだけならここで聞かないですが・・・

もう少し自分で調べて出直します

失礼しました

125:デフォルトの名無しさん
08/12/18 22:10:36
なんだっけ? 列挙して、プロセスID で付け合わせるんだったかな?

126:デフォルトの名無しさん
08/12/18 22:15:22
またチートやマルウェアの類か

127:デフォルトの名無しさん
08/12/18 22:44:14
へへへへェ

128:デフォルトの名無しさん
08/12/18 22:49:48
>>124
出直さなくていいから二度と来ないでね

129:デフォルトの名無しさん
08/12/18 22:58:08
Shut up your mouth if you don't know. It's just annoying.

130:デフォルトの名無しさん
08/12/18 23:29:30
>>129
Si no sabe, no debe contestar. Simplemente una molestia.

131:デフォルトの名無しさん
08/12/18 23:34:10
ここで難しい質問しても誰も判らないから意味無いのにw

132:デフォルトの名無しさん
08/12/18 23:36:21
判るけどお前の態度がキモイから教えない

133:デフォルトの名無しさん
08/12/19 02:34:20
俺も遂に24インチに変えた
世界が変わった・・・プログラム用なら1200にすべきだった・・・

134:デフォルトの名無しさん
08/12/19 03:13:27
1200インチとか
どんな豪邸に住んでんだ

135:デフォルトの名無しさん
08/12/19 03:24:35
そろそろ高DPIのディスプレイが一般に出てくるようになってほしい。

136:デフォルトの名無しさん
08/12/19 03:31:40
ぶっちゃけVGAで十分

137:デフォルトの名無しさん
08/12/19 04:53:16
お前にはな

138:デフォルトの名無しさん
08/12/19 04:58:50
VGAとかすげぇな
俺なんてQUXGA未満は受け付けない

139:デフォルトの名無しさん
08/12/19 09:03:03
>>138
3200×2400 すげぇぇぇ
てか、お前何屋なんだよ。

140:デフォルトの名無しさん
08/12/19 09:04:46
八百屋やってますがなにか?

141:デフォルトの名無しさん
08/12/19 09:11:36
>>119
プロセス ID またはプロセス ハンドルを使用してジョブ オブジェクトを取得する方法
URLリンク(www.microsoft.com)

これ?

142:114-93
08/12/19 11:55:01
暖かいレスに感謝。
>>115
去年からうまく行かなかったんで、去年もどこかで聞いたけど、Vista なんぞ
クソだから当てにすんな見たいなレスがあった。
1年たって情報も溜まったから、なんか分かったことあるかと思った。
Vista なんか使っているんか、カス みたいなレスがなくてよかった。
>>116
試してみます。

143:デフォルトの名無しさん
08/12/19 12:20:04
>>141
↑カーネルオブジェクトとジョブオブジェクトの違いがわからない馬鹿

144:デフォルトの名無しさん
08/12/19 12:24:55
お前だってコーヒーの違いも分からないくせに

145:デフォルトの名無しさん
08/12/19 12:25:44
違いのわかる男

146:デフォルトの名無しさん
08/12/19 12:40:20
ネスカフェ・ゴールドブレンド

147:デフォルトの名無しさん
08/12/19 12:42:00
>>144-146
話を逸らすな馬鹿

148:デフォルトの名無しさん
08/12/19 12:43:34
ネスカフェは香味焙煎が一番うまい

149:デフォルトの名無しさん
08/12/19 12:47:20
コーヒーの違いがわからない人はレスしないで下さい。

150:デフォルトの名無しさん
08/12/19 13:05:18
お前は100倍抽出缶コーヒーでも飲んでろ

151:デフォルトの名無しさん
08/12/19 18:21:59
別プロセスのウィンドウをサブクラス化するには?

152:デフォルトの名無しさん
08/12/19 18:25:32
>>151
コーヒーの違いがわからない人はレスしないで下さい。

153:デフォルトの名無しさん
08/12/19 19:34:33
>>151
CreateRemoteThreadかSetWindowsHookExでアタッチしてやる。
これでヒントは十分だろ。

154:デフォルトの名無しさん
08/12/19 20:26:23
>>153
DLL注入かフックってことか
サンクス

155:デフォルトの名無しさん
08/12/20 01:54:47
外部のアプリケーションに対して
フォーム自体は表示したまま、タスクバーには表示させない

といったことは可能でしょうか。OSはXP限定で構いません。
タスクバー内のToolWindow32のウィンドウハンドル取得して無理やり削除…?
解決策等ありましたらよろしくお願いします。

156:デフォルトの名無しさん
08/12/20 01:57:26
>>155
カレンダー系統のソフトがやっているので
可能であることは知っていますがやり方は知りません

157:デフォルトの名無しさん
08/12/20 01:59:28
むしろタスクバーって自分で登録しないとでないんじゃなかったっけ?

158:デフォルトの名無しさん
08/12/20 02:00:25
ああ、外部のアプリケーションかw
そりゃ知らん無視してちょ

159:デフォルトの名無しさん
08/12/20 02:09:58
スタイル変えりゃ表示されない

160:156
08/12/20 02:11:48
>>158 を読むまで勘違いしてたorz

161:デフォルトの名無しさん
08/12/20 02:52:30
外部のウィンドウのスタイルをむりやりWS_EX_TOOLWINDOWにすればいいんじゃね

162:デフォルトの名無しさん
08/12/20 02:57:10
>>155
何を言ってるのかよくわからんがWS_EX_TOOLWINDOW?

163:デフォルトの名無しさん
08/12/20 02:59:23
WS_EX_TOOLWINDOWにきまってるだろjk

164:デフォルトの名無しさん
08/12/20 03:06:31
モニターブラックアウトする・・・もうだめも・・・

165:デフォルトの名無しさん
08/12/20 04:13:18
左クリックすると反応が返ってくるところの座標を得る方法ってありますか?
例えばデスクトップのアイコンとかブラウザのリンクとか、ソフトのボタンコントロールのところとか
マウスポインタが近くのところにきたらその場所に移動するように補正したいんですが

166:デフォルトの名無しさん
08/12/20 04:32:38
純粋なダイアログボックス以外は、そういった情報がないから難しいと思う。
ただアクセシビリティに対応したプログラムの場合はそういった情報が存在するので可能。
音声認識で操作なんかはこれのインターフェイスを利用している。
.NET Frameworkの標準コントロールは対応している。
たぶんMSのプログラムはだいたい対応しているんじゃないかな。

167:デフォルトの名無しさん
08/12/20 08:11:02
反応ってなに

168:デフォルトの名無しさん
08/12/20 09:14:40
>>155
ITaskbarListを使って出来ないかな?

169:デフォルトの名無しさん
08/12/20 11:16:49
>>155
親ウィンドウを隠しウィンドウにすればOK

170:デフォルトの名無しさん
08/12/20 11:49:47
WS_EX_TOOLWINDOWつきの非表示ウインドウ作って、
それの子にすればいいんじゃないの?

171:155
08/12/20 14:42:06
たくさんの回答ありがとうございます。

・WS_EX_TOOLWINDOWに変える
対象のタイトルバー表示は変えたくないのです。
あらかじめ記述しておくべきでした、申し訳ない。

・ITaskbarListを使う
やはりその方法をとるべきなのでしょうか。
実はC#にて実装しようとしているので、メモリ等不完全な出来になりそうですが検討してみます。
できるのかとても不安ですが…

親ウィンドウを隠しウィンドウにするのは外部アプリでも可能なのでしょうか?
他にも何かありましたらお願いいたします。

172:デフォルトの名無しさん
08/12/20 15:04:43
MSG構造体のhwndメンバがNULLで飛んできたんだけど、これってどういうことですか?

173:デフォルトの名無しさん
08/12/20 15:26:05
>>172
PostThreadMessageでもされたんじゃね

174:155
08/12/20 16:40:43
ITaskbarListを使う方法にて一応解決することができました。
結果的にWin32APIではなく、COMに及んでしまい申し訳ないです。
答えていただいた皆様、ありがとうございました。

どなたかの参考までに(スレ違いな内容になりますが…)
URLリンク(www.codeproject.com)

175:デフォルトの名無しさん
08/12/20 20:02:07
>>166
ありがとうやっぱり難しいのね
色々調べてきます

176:142-93
08/12/20 21:13:50
>>116
PAGESETUPDLG がうまく行かず質問していたものです。
出ましたネエ。感激です。
いろいろな設定を追加してもっと試します。有難うございました。

VC++2008EE で Win32プロジェクトを起こすと default でソースが出てきて
簡単なテストは楽ですね。今までは移植移植でこんなの初めてです。

177:デフォルトの名無しさん
08/12/20 21:29:11
GetPrivateProfileStringとかINI系の関数が全く動かないです。。。 何か心当たりありますか?

178:デフォルトの名無しさん
08/12/20 21:36:33
>>176
そんなの2008でなくても随分前からあっただろ
今まで何の開発環境使ってたんだ?

179:デフォルトの名無しさん
08/12/21 00:18:41
先日、「あかね色に染まる坂」の長瀬湊が裸エプロンをしたパネルがとらのあなとゲーマーズに
あった事をお伝えしたが、秋葉原駅西側広場に、特大のDVD広告があるのに気が付いた。
広告には、長瀬湊や片桐優姫やこれからのストーリーみたいな事も書かれていた。

URLリンク(www.akibaos.com)
URLリンク(www.akibaos.com)
▲「第10話で息を呑み、第11話で涙する-」
  秋葉原駅西側広場に「あかね色に染まる坂」の特大のDVD広告

現在放映中の「あかね色に染まる坂」は、2007年に発売されたエロゲ(美少女ゲーム)が原作の
TVアニメで、10月から放映されている。
ファミ通.comでは、『主人公・長瀬準一と、彼の前に現れた少女・片桐優姫は、親どうしが決めた
許嫁。しかし、ふたりの仲は最悪だった。そんなふたりをよそに、両親たちからの命令で、進級
するまでともに過ごすことを義務づけられてしまう』とストーリーを紹介している。

広告があったのは秋葉原駅電気街口の西側にある広場で、
『DVDシリーズ12月19日リリース開始!』と告知されており、長瀬湊と片桐優姫が描かれていた。
広告には『お店によって特典が変わるんだからね!』等のセリフがあったが、
『第10話で息を呑み、第11話で涙する―』とこれからのストーリーみたいなのもあった。

URLリンク(www.akibaos.com)
▲「お店によって特典が変わるんだからね!」片桐優姫(CV:釘宮理恵)

URLリンク(www.akibaos.com)
▲「どの特典も魅力的ですよね♪」長瀬湊(CV:平野綾)

アキバOS
URLリンク(www.akibaos.com)

・関連
【アニメ】「あかね色に染まる」DVD第7巻、発売中止? ソフマップ、2009年6月26日→発売中止の表記へ変更
スレリンク(moeplus板)

180:デフォルトの名無しさん
08/12/21 02:15:49
誰かCreateIconIndirectの成功例を見せてください・・・!
どうしてもパラメータが間違っていますと出ます・。

181:デフォルトの名無しさん
08/12/21 02:20:08
わからないから聞かないで下さい

182:デフォルトの名無しさん
08/12/21 02:52:45
9xでうまくいってるけどNTでは動いてなくて放置してるコードならある

183:デフォルトの名無しさん
08/12/21 03:31:52
>>180
こういうの?
URLリンク(rakasaka.fc2web.com)

184:デフォルトの名無しさん
08/12/21 10:37:05
環境と失敗した例を出さないのはなんで?

185:デフォルトの名無しさん
08/12/21 10:43:58
サンプルコードから見つかってないんだろ多分

186:デフォルトの名無しさん
08/12/21 12:03:57
抽出したアイコンにショートカットのマークを付けるとかはどうやったらいいんでしょうか。


187:デフォルトの名無しさん
08/12/21 12:25:43
ショートカットのマークのみのアイコンを取得して合成する

188:デフォルトの名無しさん
08/12/21 12:38:01
>>184こんな感じです・・・!!
ICONINFO info;
HICON icon;

info.fIcon=true;
info.xHotspot=0;
info.yHotspot=0;
BITMAPV5HEADER bi;
void *lpBits;
ZeroMemory(&bi,sizeof(BITMAPV5HEADER));
bi.bV5Size = sizeof(BITMAPV5HEADER);
bi.bV5Width = 16;
bi.bV5Height = 16;
bi.bV5Planes = 1;
bi.bV5BitCount = 32;
bi.bV5Compression = BI_BITFIELDS;
bi.bV5RedMask = 0x00FF0000;
bi.bV5GreenMask = 0x0000FF00;
bi.bV5BlueMask = 0x000000FF;
bi.bV5AlphaMask = 0xFF000000;
HDC hdc=::GetDC(NULL);
HBITMAP hBitmap = ::CreateDIBSection(hdc, (BITMAPINFO *)&bi, DIB_RGB_COLORS,(void **)&lpBits, NULL, (DWORD)0);
::ReleaseDC(NULL,hdc);

HBITMAP mono = ::CreateBitmap(16,16,1,1,NULL);
info.hbmMask = mono;
info.hbmColor = hBitmap;
icon=::CreateIconIndirect(&info);
::DeleteObject(hBitmap);
::DeleteObject(mono);

189:デフォルトの名無しさん
08/12/21 14:51:37
>>188
環境は?
とりあえず問題ないようだけど。

190:デフォルトの名無しさん
08/12/21 15:08:19
>>189
WinXP SP3 メモリもCPUも2Gくらい
普通に.icoをLoadImageで読み込んで設定する分には問題無しです・・・。

191:デフォルトの名無しさん
08/12/21 15:16:03
CreateIconIndirectでNULLが返ってきてGetLastError()で
>パラメータが間違っていますと
なの?
そのままコピペしてVista64でVC++2008でコンパイルして成功するけど。

192:デフォルトの名無しさん
08/12/21 15:25:38
もしかしてLoadImageということと16x16というとこからスモールアイコンを使いたいのかな。
LoadIcon系は32x32の昔からのアイコンしか扱えないと思ったが。

193:デフォルトの名無しさん
08/12/21 16:02:54
CreateIconIndirectがBITMAPV5HEADERやBI_BITFIELDSに対応してないんじゃねーの?

194:デフォルトの名無しさん
08/12/21 17:50:22
CreateWindowで指定しないとあとから変更が利かないウィンドウスタイルってありますか?

195:デフォルトの名無しさん
08/12/21 18:15:05
とうめい

196:デフォルトの名無しさん
08/12/21 23:09:57
アイコンの人ですが、とりあえず生成確認しました・・・!!
皆様ありがとうございます。原因は作成したBitmapからサイズを取得した時に、大きさに変な値が
入っていたのが原因でした。

HBITMAP bitmap;
BITMAP desc;
::GetObject(bitmap,sizeof(BITMAP),(LPVOID)&desc);

これで関数は成功を返すが、bmWidthやbmHeightにデカイ値が入っている。この値を使ってたんです・・・。
何故そんな大きな値が入ってるのでしょうか・・・?

197:デフォルトの名無しさん
08/12/21 23:17:10
GetObjectが失敗してるんだろ
返値とLastErrorくらいチェックしろよ

198:デフォルトの名無しさん
08/12/21 23:41:15
>>197いや、成功してるんです。返り値も24 == sizeof(BITMAP)でした。

またHBITMAPを別のHBITMAPのBitBlt等で変換転送したいんですが、HBITMAPからHDCを取得する方法はありますか?

199:デフォルトの名無しさん
08/12/21 23:53:09
HBITMAPからHDCを取得、なんて言ってるようでは何も分かってないみたいだな
BitmapやDevice Contextの説明をMSDNで読んで勉強した方がいいと思う

200:デフォルトの名無しさん
08/12/22 00:59:20
お断りします

201:デフォルトの名無しさん
08/12/22 01:29:47
>>200は私じゃありません…

202:デフォルトの名無しさん
08/12/22 02:15:54
>>201は私じゃありません…

203:デフォルトの名無しさん
08/12/22 03:29:33
>>202は私じゃありません…

204:デフォルトの名無しさん
08/12/22 04:20:22
>>203は私じゃありません…

205:デフォルトの名無しさん
08/12/22 04:35:11
>>205は私じゃありません…

206:デフォルトの名無しさん
08/12/22 05:08:17
ね?ね?
なんでofficeのアプリケーションは、ショートカットから実行ファイルのパスを取得すると
アイコンの.exeパスを返すの?これじゃぁ起動できないじゃんカスガ

207:デフォルトの名無しさん
08/12/22 05:12:00
>>206
知らないならレスしないでください。ウザイだけです。

208:デフォルトの名無しさん
08/12/22 05:26:07
>>207
冬休みの糞餓鬼は宿題でもしてろ
クズが

209:デフォルトの名無しさん
08/12/22 05:29:03
>>208
ニートならレスしないでください。ウザイだけです。

210:デフォルトの名無しさん
08/12/22 05:38:14
>>209
冬休みの糞餓鬼は宿題でもしてろ
クズが

211:デフォルトの名無しさん
08/12/22 05:39:12
>>210
ニートならレスしないでください。ウザイだけです。

212:デフォルトの名無しさん
08/12/22 05:46:13
>>203は私です…

213:デフォルトの名無しさん
08/12/22 05:47:36
>>212
は私です…

214:デフォルトの名無しさん
08/12/22 05:53:44
また目覚まし君がこんな時間まで一人で荒らしてるのかい

215:デフォルトの名無しさん
08/12/22 06:04:22
>>214は私です…

216:デフォルトの名無しさん
08/12/22 07:51:20
ActiveXってすごい難しそうなんですが、勉強する価値はありますか?

217:デフォルトの名無しさん
08/12/22 08:32:58
FireFoxではもともと非対応。

まぁそんなもん

218:176-93
08/12/22 08:55:59
>>178
考えてみれば 2008EE で新規プロジェクトを起こしたことはない。
リソース生成が便利な VC++6.0 で起こして持ってきていた。

今いじっているソフトも、見たらメニュー項目計が318個。
もともとは文書編集だったのが、今は画像主体の遊びに。

219:デフォルトの名無しさん
08/12/22 10:16:40
Express Editionにはリソースエディタないんだっけな

220:デフォルトの名無しさん
08/12/22 15:03:51
働いているなら勤務時間中にレスしないでください。無職になるだけですよ。

221:デフォルトの名無しさん
08/12/22 15:11:14
日曜と祝日の間だから休日に設定されたんだよ。

222:デフォルトの名無しさん
08/12/22 18:32:14
>>218
Win32プロジェクトで雛型作るくらいVC6でもできるわけだが
VC6すら使いこなしてなかったのね

223:デフォルトの名無しさん
08/12/22 18:48:05
メニュー項目が何百個とか、ソースコードが何万ステップとか、
聞かれてもいない自慢話を挟んでそれが凄いと思ってる人って実は大したこと無いよね

224:デフォルトの名無しさん
08/12/22 19:00:09
自分と同じだからこそ気づくんだよね

225:デフォルトの名無しさん
08/12/22 19:02:45
僕のはソースコード100行未満、メニューなんてないです
でも、MP3再生できるんです
コードはいつも、どっかからパクって来てます
凄いでしょ。

226:デフォルトの名無しさん
08/12/22 19:14:10
既にあるソフトに1秒でも時間使って恥ずかしくないのか?
所詮Windowsの中でしかないぞ

227:デフォルトの名無しさん
08/12/22 19:18:58
マイクロソフトはIntelに踊らされてるとでもいいたいのか

228:デフォルトの名無しさん
08/12/22 19:23:09
>>226
他のソフトは糞でしたから。
僕の作ったソフトが一番便利で使いやすいです

229:デフォルトの名無しさん
08/12/22 19:24:14
税金は、民間企業のITドカタが楽しく民主主義できてこそより多く回収できると思ってる
みんな仲良くしろGDP上げろ。喧嘩するな^^

230:デフォルトの名無しさん
08/12/22 19:25:17
>>227
いいえ
>>226はwindows、および、その開発者をバカにしているだけです。

231:デフォルトの名無しさん
08/12/22 19:27:40
>>228
そうそう
自分の子供が一番可愛いって言うよね

232:デフォルトの名無しさん
08/12/22 19:31:03
個人的には無駄に詳細設定ができる関数は嫌い
win32のフォント関連とかあんま好きじゃねぇ
あんなに設定させるくせにその実ロクなできない上に面倒とか
作った奴のセンスが悪すぎる

233:デフォルトの名無しさん
08/12/22 19:33:34
少しでも使いやすく必至に電気信号0、1をラッピングしてるのに
作ろうと思って、ソフトが作れるのは当たり前だ。

ビデオのリモコンが操作出来ておばあちゃんにすごいって言われたのを思い出した。

234:デフォルトの名無しさん
08/12/22 19:54:10
>>218に何かを気付かせようと必死だな
俺なら絶対スルーのに、お前ら・・・

235:デフォルトの名無しさん
08/12/22 20:01:42
>>234
日本語でおk

236:デフォルトの名無しさん
08/12/22 20:05:22
マスターボリュームを操作するのに簡単な方法はありませんか?
ほとんど例がない上にめちゃくちゃコード数多いんですが

237:デフォルトの名無しさん
08/12/22 20:22:24
コード量多いのが嫌ならAPIなんて使おうとするなよ

238:デフォルトの名無しさん
08/12/22 20:23:51
>>237
その調子w

239:デフォルトの名無しさん
08/12/22 20:25:09
>>236
Win32APIでのプログラミングの場合基本的にお手軽ってのは無い
そういうのが欲しいなら.netでもやった方がお前の為になると思うぜ

240:デフォルトの名無しさん
08/12/22 21:17:18
>>206
アドバタイズショートカットでぐくれ。

241:デフォルトの名無しさん
08/12/22 21:33:30
カレー?

242:デフォルトの名無しさん
08/12/23 00:34:32
>>239
.netだけでマスターボリュームなんて操作できたか?
ミキサー系APIを叩く必要があると思うが。

243:デフォルトの名無しさん
08/12/23 01:28:27
>239はマスタボユームの操作にレスしてるんじゃなくて、簡単な方法、に突っ込んでるんだろ、明らかに

244:デフォルトの名無しさん
08/12/23 01:48:47
てか、.netで簡単に出来ることは大概Win32でも簡単に出来る

むしろ.netだけで出来ないことをしようとするとAPI宣言や構造体を
C#やVBで定義しないといけないので余計に面倒

245:デフォルトの名無しさん
08/12/23 01:50:38
まあ、ここまでをまとめると



知らないならレスしないでください。ウザイだけです。
ってことだな

246:デフォルトの名無しさん
08/12/23 01:57:19
知らないのはお前だけ

247:デフォルトの名無しさん
08/12/23 01:58:59
>>246
知らないならレスしないでください。ウザイだけです。

248:デフォルトの名無しさん
08/12/23 04:18:22
>>247
知らないのはお前だけ

249:デフォルトの名無しさん
08/12/23 05:53:28
>>247
知らないのはお前だけだよ。

250:デフォルトの名無しさん
08/12/23 07:58:11
なにこのスレ・・・
SilverlightのせいでWEB製作者がばんばんアプリ作れるようになって歪んでんのか?
どうせそのうちクリックするだけでソフトが作れるようになる
知ってようが知ってまいがどうでもいいな

251:デフォルトの名無しさん
08/12/23 08:07:46
Pioneer DV-600 (?) 2万円 → 13,600円(プライスダウン!4/20)
URLリンク(up4.pandoravote.net)
GOLDMUND Eidos 20 (?) 140万円(≒6000ポンド)
URLリンク(up4.pandoravote.net)

252:デフォルトの名無しさん
08/12/23 09:54:42
>>250
歪むなー

253:デフォルトの名無しさん
08/12/23 09:59:43
大熱波が来たのか!?

254:デフォルトの名無しさん
08/12/23 15:46:14
簡易Timerクラスを作ろうと思うのですが、

class Timer{
HANDLE hthread;
unsigned int id;
unsigned int sleep;
protected:
Timer(unsigned int sleep):sleep(sleep){
 hthread = _beginthreadex(NULL,0u,Timer::ThreadProc,this,0,&id);
}
virtual ~Thread(){::CloseHandle(hthread);}
public:
static unsigned __stdcall ThreadProc(LPVOID lpParameter){
 Sleep(sleep);
 reinterpret_cast<Timer*>(lpParameter)->run();
 return 0;
}
virtual void run() = 0;
};
これを継承して
class Tasc:public Timer{
public:
 Tasc(unsigned int sleep):Timer(unsigned int sleep){}
 void run(){
  やりたいこと
 }
};
見たいにすれば良いですか?

255:デフォルトの名無しさん
08/12/23 15:47:45
Tasc・・・プ

256:デフォルトの名無しさん
08/12/23 15:49:02
>>199どこに書いてあんの~?

257:デフォルトの名無しさん
08/12/23 17:01:23
引数がPSTRのAPIにchar* とか LPSTR とか渡しちゃいけないんでゆか?

258:デフォルトの名無しさん
08/12/23 17:03:34
>>257
それぞれの定義を確認してみれば?

259:デフォルトの名無しさん
08/12/23 17:52:44
Tascワロタ

260:デフォルトの名無しさん
08/12/23 18:05:43
コンストラクタで_beginthreadexなんて行儀悪すぎ
せめて例外投げろよ

261:218-93
08/12/23 18:30:09
>>222
Win98 の頃はちょっとサイズの大きな画像を弄ると、リソース不足になった
りしたので、表示関係は自前で縮小などの処理を要したけど、OSも改良?さ
れて、そんなことも必要なくなった。マ間に合って来たってこと。

一方、今年は年賀状もワートパッドで文字だけのそっけないので済ませた。
写真や絵を入れる歳でもないだろうってんでね。凝り性の減退ってこと。

262:デフォルトの名無しさん
08/12/23 19:22:29
Sleepの64bit版みたいなのってありますか?長時間眠らせたいんですが。

263:デフォルトの名無しさん
08/12/23 19:31:06
>>262
死ね

264:デフォルトの名無しさん
08/12/23 19:32:34
SetWaitableTimerなら絶対時間を指定できるから、
好きなだけWaitForSingleObjectで眠っていられるよ。

265:デフォルトの名無しさん
08/12/23 19:34:15
25日間もSleepさせる用途ってなんだよ


266:デフォルトの名無しさん
08/12/23 19:37:22
俺も1000年後に起動する関数が作ってみたくなった

267:デフォルトの名無しさん
08/12/23 19:50:44
そんなに眠らせたら時計ズレちまってないか

268:デフォルトの名無しさん
08/12/23 20:12:18
???とかおかしいところとか適当に補完よろしく。
■Person who has intention(意思(目標、目的)をもつもの)
街を風が吹き抜けていく。[広野紘]
風は冷たく時には立ち止まってしまいそうになるけれど。[宮村ミヤコ]

■Person who stands up again(再び立ち上がるもの)
そういうときは、ゆっくりでもいいから進んでほしい。[堤恭介]
いつか必ずたどり着けるから。[新藤景]

■It begins to move again(再び動き始める)
悲しいことがあっても大丈夫 手を伸ばせば、そこには誰かがいて。[麻生 すみれ]
ぬくもりを分け合うことができるから。[泉 絵美???]

■Person who spins time(時をつむぐ(持続させる)もの)
ひとりでは辛い道のりも、つないだ手を離さなければきっと乗り越えられる。[麻生レンジ]
だから、あきらめないで。長い長い道の先には、幸せが待っている。
幸せが重なり合い、さらに大きな幸せに。[新藤千尋]

■Person who walks to the future(未来へと歩むもの)
そして、いつの日か気づいてほしい。
あなたが歩いてきた道の途中に、いくつもの幸せがあったこと。[久瀬修一]

■It is a story of the "Will"(それは「意志」の物語)
忘れないで。あなたは一人ぼっちじゃない。
確かな足跡を刻み、季節を越え、空を見上げて[広野 凪]
翼がなくても、きっと行ける[火村 夕]
いつか夢見た、[雨宮 優子]
光あふれる明日へと―[雨宮 優子+羽山ミズキ???]

■Two becomes one,and it through all eternity.
(ふたつ(音羽、過去と未来、景と千尋、優子と夕???)はひとつに、そして永遠に )

269:デフォルトの名無しさん
08/12/23 20:26:35
Aプロセスのプロセスハンドルが破棄された後
Bプロセスを起動するとAプロセスと同じプロセスハンドル値が
使用(再利用)される事ってありえますか?

また、そういう場合何を持ってAプロセスを認識させればいいのでしょうか?
例:ウィンドウハンドル値とプロセスハンドル値を比較など・・。


270:デフォルトの名無しさん
08/12/23 20:32:20
カーネルハンドル値は簡単に再利用されるよ
だから「もうこれ以上必要無い」という状況になるまで破棄しないこと

271:269
08/12/23 20:38:00
プロセスの生き死にを判定する為に
GetExitCodeProcessを使おうとしたんですが、
ふとハンドル値の再利用の事に思い立って質問をしました。

ウィンドウハンドルを用いてプロセスID(スレッドIDも条件としていれてもいいかも)と
プロセスハンドルが全て一致すればAプロセスという判定にしようかと思ったんですが、
そこまで気にしすぎる必要はないですかね。

272:デフォルトの名無しさん
08/12/23 20:41:17
プロセスのハンドルをCloseHandleしなければいいだろが

273:デフォルトの名無しさん
08/12/23 20:45:13
>>271
プロセスの生成破棄をなんかで検知できたと思う。
駄目っぽかったらフックでも汁。面倒になったら止めてしまえw

274:269
08/12/23 20:48:37
>>272
例えばCプロセスでOpenProcessして取得したプロセスハンドルと
DプロセスでOpenProcessして取得したプロセスハンドルは一意な値ではないが、
Cプロセス、Dプロセス共に同じプロセスIDに紐付くプロセスの内部識別値に
なるという認識でいいのでしょうか?



275:デフォルトの名無しさん
08/12/23 20:56:00
OpenProcessがどうやってもできない状況があるんで、やってらんね~ってなるよ

276:デフォルトの名無しさん
08/12/23 21:19:23
>>274
ハンドルがどういう物なのか理解してない気がする

277:デフォルトの名無しさん
08/12/23 21:42:26
グリニッチ標準時(GMT)の1970年 1月 1日の00:00:00 から現在までの経過時間をミリ秒レベルで取得する関数ってあります?

278:デフォルトの名無しさん
08/12/23 21:46:29
>>277
GetSystemTime

279:デフォルトの名無しさん
08/12/23 22:30:07
>>278
馬鹿?

280:デフォルトの名無しさん
08/12/23 22:34:39
UTCじゃ駄目とか言い出すとなると電話して聞くしか無いんじゃない?

281:デフォルトの名無しさん
08/12/23 22:36:50
>>278ありがとうごぜーました。

282:デフォルトの名無しさん
08/12/23 22:42:31
世界標準時(UTC)ってグリニッチ標準時(GMT)と同じ意味でおk?

283:269
08/12/23 22:44:15
>>275
それを加味して色々考えてみます

284:デフォルトの名無しさん
08/12/23 22:44:21
定義は違うけどPCで扱う上では同じものとして認識して良いはず

285:デフォルトの名無しさん
08/12/23 22:46:45
違う。
GMT は太陽の運行を平均化した平均太陽の運行に基づいた時刻。
UTC は原子時計を基準とした時刻。
現在はより正確な UTC が基準になってる。

286:269
08/12/23 22:50:27
>>276
ハンドルについて詳しく解説してあるサイトや書籍があれば
教えていただけませんか?

287:デフォルトの名無しさん
08/12/23 22:51:10
RtlTimeToSecondsSince1970

288:デフォルトの名無しさん
08/12/23 22:57:20
>>285
マジで?
関数によってちがいってあるの?
COleDateTime使ってるけど・・・

289:デフォルトの名無しさん
08/12/23 22:58:31
>>286
>>3にも紹介のあるAdvanced Windows。

290:269
08/12/23 23:04:18
>>289
4版も5版も持ってたので、100回ぐらい読み直してきます(´・ω・`)

291:デフォルトの名無しさん
08/12/23 23:05:43
>>290
2つもいらないだろ?5版くれよ

292:デフォルトの名無しさん
08/12/23 23:09:44
>>291
俺が2万で売ってやるよ

293:デフォルトの名無しさん
08/12/24 00:39:21
MDI子ウィンドウを作ると、親ウインドウのタイトルが

タイトル - [子ウィンドウ]

になるんだけどこれを無効にするにはどうしたらいいですか?

294:デフォルトの名無しさん
08/12/24 00:43:20
おっさん達へ
URLリンク(allabout.co.jp)
Merry Xmas
From 目覚ましと時計

295:デフォルトの名無しさん
08/12/24 00:43:38
AdvancedWindowsの5版って4版持ってる人でも買うべき?

296:デフォルトの名無しさん
08/12/24 00:45:03
ならないある

297:デフォルトの名無しさん
08/12/24 00:45:34
>>288
たぶんそこらへんは作った人間が用語を混同しているだけのはず。
関西弁と大阪弁は違うという主張と似ている、というと怒られるけど。

298:デフォルトの名無しさん
08/12/24 01:32:19
関西弁と大阪弁は違うだろ

関西弁=大阪弁、京都弁、神戸弁、・・・
大阪弁∈関西弁

299:デフォルトの名無しさん
08/12/24 01:43:18
>>298
関西弁に京都弁は入らないと思う、一介の関西人

300:デフォルトの名無しさん
08/12/24 02:00:22
ごめん選び間違えた、地域としての関西と近畿だったらどうだ?
あるいは関東と首都圏の混同とか。こっちははっきりとした定義があるけど。

301:デフォルトの名無しさん
08/12/24 02:24:46
三重県・・・

302:デフォルトの名無しさん
08/12/24 02:42:09
福井は兵庫

303:デフォルトの名無しさん
08/12/24 09:07:57
>>295
5版はVista対応

304:デフォルトの名無しさん
08/12/24 10:01:27
アイコンの縁が黒くなるんですが、これは回避できないんでしょうか?


305:デフォルトの名無しさん
08/12/24 10:02:21
すいません、途中で投稿ボタン押してしまいました。
表示はツリービューに行っています。


306:デフォルトの名無しさん
08/12/24 14:56:52
マウスカーソルが動いて、ウィンドウからはみ出た時に
来るメッセージがありましたら教えてください。

デスクトップがウィンドウと考えれば、デスクトップに
WM_MOUSEMOVEが来るかもとも考えられますが、
ウィンドウハンドルが分からないですし。

307:デフォルトの名無しさん
08/12/24 14:59:39
WM_MOUSELEAVE

308:デフォルトの名無しさん
08/12/24 15:06:13
>>306
TrackMouseEventで設定するとWM_MOUSELEAVEが来るようになる。

309:306
08/12/24 15:52:09
>>307>>308
できました。ありがとうございます。

310:デフォルトの名無しさん
08/12/24 15:53:41
自分の子でないウィンドウを閉じる関数って何だっけ?
DestroyWindow()は関連しないのには作用しないよな

311:デフォルトの名無しさん
08/12/24 16:03:22
>>310
DestroyWindow
ただし他スレッドのウィンドウは破棄できない

312:デフォルトの名無しさん
08/12/24 16:37:49
またhookか

313:デフォルトの名無しさん
08/12/24 16:59:15
Hook You!!

314:デフォルトの名無しさん
08/12/24 17:21:53
>>310
WM_CLOSEを投げればいいじゃん

315:デフォルトの名無しさん
08/12/24 17:25:05
紙の味噌汁だけどな

316:デフォルトの名無しさん
08/12/24 17:31:05
まだWMSYSCOMMAND/SC_CLOSEの方が安全なような

317:デフォルトの名無しさん
08/12/24 17:37:27
PostMessage(WM_CLOSE)
 ↓
数秒待つ
 ↓
対象プロセスがまだ終了していなければ
「強制終了しますか?」を出してTerminateProcess

タスクマネージャはこうなってる

318:デフォルトの名無しさん
08/12/24 18:21:25
ウインドウのタイトルバーに最小化ボタンを付けないと、タスクバー上に表示されるタスクボタンを左クリックしても最小化できないんだけど

最小化ボタンなしでタスクボタン左クリックで最小できる方法、誰か教えて (´・ω・`)

319:デフォルトの名無しさん
08/12/24 18:49:10
Spy++でメッセージ監視すれば分かるかも

320:デフォルトの名無しさん
08/12/24 19:14:50
>>319
う~ん、タスクボタン右クリックみたいにメッセージが飛んでくる訳ではないんだよね。。。
ウインドウのアクティブ化/非アクティブ化を調べて最小化させてるんだろうか、よく分からんです...orz

321:デフォルトの名無しさん
08/12/24 19:54:33
>>318
不可視で最小化ボタン付けちゃえ

322:デフォルトの名無しさん
08/12/24 21:14:37
>>321
ども。上手くいきましたです ノ
最小化ボタンの有無がタスクボタンでの最小化に影響を与えるわけではないようですね。

でも、タイトルバーが付いてないウインドウとかでは駄目ですね、
こちらはクリッピングリージョンで非表示にしてしまうくらいしかないのかな。。。

323:デフォルトの名無しさん
08/12/24 23:07:24
てか、最小化ボタンが無いのに最小化したいってどういう状況なんだ?
いわゆるスキンとかそういうのか?

324:デフォルトの名無しさん
08/12/24 23:19:14
何らかの理由で最小化ボタンは付けたくないけど(タイトルバーも消したいっぽいし)、

最小化できないとユーザーがさすがに不便だろうからその方法は用意しておきたい、ってことだと予想してみる。

325:デフォルトの名無しさん
08/12/24 23:22:44
普通は通知領域にアイコン表示したうえでSW_HIDEじゃないか?
今時、中途半端に最小化とかされても、そのなんだ・・・困る

326:デフォルトの名無しさん
08/12/24 23:40:47
Delphi製アプリのように、メインウィンドウとタスクバー上のウィンドウを別々にするとか。
連携が面倒そうだけど。

327:デフォルトの名無しさん
08/12/25 00:25:03
>>326
最小化するときにアニメーションしないバグがあるけどな

328:デフォルトの名無しさん
08/12/25 00:33:10
いつの話よ?Delphi 2007で修正済。まぁ実装はいささかトリッキーだとは思うけど。

329:デフォルトの名無しさん
08/12/25 00:40:47
ホントだ、最近のDelphiだと直ってる
正直これ直すの無理だと思ってたから内部でどういう処理してるのか気になる

330:デフォルトの名無しさん
08/12/25 08:47:48
2007年まで放置してたってのもある意味凄いなw

331:デフォルトの名無しさん
08/12/25 13:24:13
/* 最前面へ */
ThreadID1 = GetWindowThreadProcessId(GetForegroundWindow(), NULL);
ThreadID2 = GetCurrentThreadId();
AttachThreadInput(ThreadID2, ThreadID1, TRUE);
SetForegroundWindow(hDlg);
AttachThreadInput(ThreadID2, ThreadID1, FALSE);
BringWindowToTop(hDlg);

/* 最前面維持 */
SetWindowPos(hDlg, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);

とあるダイアログを最前面に表示するために
上記のようにしているのですが、このダイアログが
表示されているときに「デスクトップの表示」をすると
ダイアログ上に描画している文字列が消えてしまいます。
この文字列はWM_PAINTで処理しているのですが
「デスクトップの表示」をしたときはWM_PAINTが
来ないのでしょうか?
何か対処方法はありますでしょうか?


332:デフォルトの名無しさん
08/12/25 14:08:38
AttachThreadInput(ThreadID2, ThreadID1, TRUE);
SetForegroundWindow(hDlg);
AttachThreadInput(ThreadID2, ThreadID1, FALSE);

未だにこんな下手なコード書く人がいるんだね

333:デフォルトの名無しさん
08/12/25 14:18:40
ていうか強引に最前面表示させる行儀悪いソフト作る人ってまだいるのか

334:331
08/12/25 14:23:50
>>333
お客さんのどうしてもという要望なので仕方なしに

335:デフォルトの名無しさん
08/12/25 15:00:59
まあそのコードでは運用してからクレームが来るのは時間の問題
「ダイアログを最前面に出せ」なんてアホな要望する客なら尚更
ご愁傷様>>331

336:デフォルトの名無しさん
08/12/25 15:10:13
たんに最前面に表示させるだけなら、Zオーダーを
TOPMOSTにする方がいいと思うが。
一瞬だけTOPMOSTにして、すぐにNOTOPMOSTに
するという方法もある。

これなら、フォーカスを奪わずに最前面に表示される。

337:デフォルトの名無しさん
08/12/25 17:45:17
SetWaitableTimer()の開始時間の指定で絶対時刻はUTC時間を使えとありますが、
これはどういうことでしょう?1601/1/1 0:0:0.000からの経過時間かと思ったんですが・・・

338:デフォルトの名無しさん
08/12/25 17:51:45
FILETIMEにUTCで指定すりゃ良いだけだろ

339:デフォルトの名無しさん
08/12/25 17:54:09
ローカル時刻で指定すんなってことかと。

340:318
08/12/25 18:25:03
>>326
>メインウィンドウとタスクバー上のウィンドウを別々にするとか。

取りあえずその方法でそれっぽい動作が可能になりました♪
(うむ~、こんな手があったとは。。。

まだいくつか問題はありますがまあ調整できそうです。ありがとうございました ノシ

341:デフォルトの名無しさん
08/12/25 23:26:23
cecile, il offre sa confiance et son amour.

342:デフォルトの名無しさん
08/12/26 18:25:56
Owned windowに関する質問です。

通常はオーナーウインドウが破棄されると、Ownedウインドウも一緒に破棄されますが、
他プロセスが作成したウインドウをオーナーにしているとオーナーだけ閉じてしまいます。

これを一緒に閉じるようにしたいんだけど、オーナーウインドウに対してポーリングするのと
フックを仕掛ける以外で、何かスマートな方法はないですか?
オーナー側のプログラムはいじれません。

Spy++でメッセージログを見た感じでは、特に何もメッセージは来ていませんでした。

343:デフォルトの名無しさん
08/12/26 21:58:54
オーナーウインドウを破棄する時に、Ownedウインドウに適当なメッセージを投げる。

344:デフォルトの名無しさん
08/12/26 22:06:04
(; `ハ´)「アイヤー、日本の女子高生の耐寒性は異常アルネー」
URLリンク(up.mugitya.com)


345:デフォルトの名無しさん
08/12/26 23:15:00
>>344
コピペ君って馬鹿だな、まで読んだ。



346:デフォルトの名無しさん
08/12/26 23:18:17
MSDNによると、GetFullPathNameの引数lpFilePartの型ってLPTSTRのポインタになってるけど、
これってどう解釈したらいいのかな?

変数から返ったとき、この変数にはlpBufferで渡したバッファ内のアドレスが
入ることになるわけだから、普通に考えると「LPTSTRのポインタ」ではなく
LPTSTRそのものでないとおかしい気がするんだけど……

347:デフォルトの名無しさん
08/12/26 23:19:34
[訂正]
変数から返ったとき ⇒ 関数から返ったとき

348:デフォルトの名無しさん
08/12/26 23:23:57
>>346
C言語を勉強しましょう。

349:デフォルトの名無しさん
08/12/26 23:24:28
LPTSTRは文字列の先頭ポインタだからポインタそのものは受け取れない

350:デフォルトの名無しさん
08/12/26 23:30:32
>>349
冷静に考えたらそうだねw
実に初歩的な考え違いってわけか。

351:デフォルトの名無しさん
08/12/27 01:35:43
レベルが低すぎる

352:デフォルトの名無しさん
08/12/27 01:38:52
最近のパスの最大長っていくつになってるの?
256じゃねーだろ絶対

353:デフォルトの名無しさん
08/12/27 01:45:55
>>352
unicodeでMAX_PATH(=260)

理論上はそれ以上も可能だがExplorerが扱えない

354:デフォルトの名無しさん
08/12/27 01:54:42
>>353
それってつまり何バイト?w

355:デフォルトの名無しさん
08/12/27 02:02:08
>>354
それってどういう冗談?w

356:デフォルトの名無しさん
08/12/27 02:06:05
4バイト?
260x4=1040っすか?

357:デフォルトの名無しさん
08/12/27 02:21:20
やれやれ・・・
冬休みになって小学生がやって来たみたいだね

358:デフォルトの名無しさん
08/12/27 02:29:40
>>357
マジでわからん
解説頼む

とりあえず調べた感じだとユニコードって4バイトまであることがわかった
だから>>356だと思ったんだけど違うの?

359:デフォルトの名無しさん
08/12/27 02:30:20
わからないなら4096とっとけよ

360:デフォルトの名無しさん
08/12/27 02:47:34
いやいや64KBくらいは確保しといたほうが安全だぞ

361:デフォルトの名無しさん
08/12/27 02:49:25
実際1040以上くるから俺は2048を勧める

362:デフォルトの名無しさん
08/12/27 02:50:17
全角のよくわからん文字を連打してためしたから間違いない

363:デフォルトの名無しさん
08/12/27 02:53:26
>>362
それ手打ちだろ?w
URLリンク(msdn.microsoft.com)(VS.80).aspx

32,768 文字でFA

364:デフォルトの名無しさん
08/12/27 02:54:53
>>363
バイト数ぅぅううううううううううううううううううううううううう!でいくら?

365:デフォルトの名無しさん
08/12/27 03:13:49
>>364
MAX_PATHって文字だけでバイト数答えられるやつが居たらエスパー認定するね俺は。
自分で気が済むだけ確保しとけばいいじゃん?

366:デフォルトの名無しさん
08/12/27 03:14:47
具体的にはFileDialogで流れ込んでくる文字列

367:デフォルトの名無しさん
08/12/27 10:39:56
Unicode 1文字4バイトってサロゲートペアのこと言ってるなら、
あれは2文字にカウントする。
だからUTF-16は1文字2バイト。

UTF-8は最大6バイトだったり4バイトだったり…

368:デフォルトの名無しさん
08/12/27 10:47:15
結合文字もあるだろ

369:デフォルトの名無しさん
08/12/27 12:35:18
ツリービューにドラッグドロップした際、カーソルの下にあるノードを取得するにはどうしたらいいんでしょうか?


370:デフォルトの名無しさん
08/12/27 14:01:20
>>368
知らないならレスしないでください。ウザイだけです。

371:デフォルトの名無しさん
08/12/27 14:50:22
>>369
とりあえずツリーコントロールのドラッグ&ドロップ当たりは参考にならないだろうか?
URLリンク(www.alpha-net.ne.jp)

372:デフォルトの名無しさん
08/12/27 15:08:08
>>371
それMFCのサンプルなんだが

373:デフォルトの名無しさん
08/12/27 15:11:45
>>372
いや、MFC知らなくても読めばHitTest関数使うんだなってなんとなく分かるだろ

374:デフォルトの名無しさん
08/12/27 15:35:19
>>372
ここまで応用が効かないヤツってどうやったら日本の教育で排出されるの?

375:デフォルトの名無しさん
08/12/27 15:41:35
日本ノ教育関係ナイ

376:デフォルトの名無しさん
08/12/27 15:41:59
>>374
?オレ別に質問した人間でもないし興味もないが、せっかく挙げるのならもうちょっと適切なサンプル上げてやったらどうかと思ってな

377:デフォルトの名無しさん
08/12/27 16:45:42
またゆとり世代プログラマのご乱心か。


378:デフォルトの名無しさん
08/12/27 17:09:05
>>376
適切なサンプルがあったらそうするだろ常考・・・

379:デフォルトの名無しさん
08/12/27 17:11:27
もうだめだこのスレ

380:デフォルトの名無しさん
08/12/27 17:16:28
レスしないで下さい。ウザイだけです。

381:デフォルトの名無しさん
08/12/27 17:21:40
URLリンク(img.2ch.net)
【依頼75】

パンツにWiiリモコンを装着し女性でも立ちションの気分を味わえる「スパー・ピーピー・ブラーザー」 2008年12月27日 09時00分00秒
URLリンク(gigazine.net)

さまざまな変わった商品を取り扱っているThink Geekというサイトで、
女性でも立ちションのきぶんを味わえるWii専用ソフトが販売されているようです。
パンツにWiiリモコンが付いており、そのパンツをはいてプレイするという
非常に斬新なゲームになっているようです。
プレイムービーを見るとかなりシュールで笑ってしまいます。

では、どのようなソフトなのか見てみましょう

これが「スパー・ピーピー・ブラーザー」。本体価格は約35ドル(約3200円)。
URLリンク(gigazine.jp)

ゲーム中の画像
URLリンク(gigazine.jp)
URLリンク(gigazine.jp)
URLリンク(gigazine.jp)

プレイ動画
URLリンク(jp.youtube.com)

382:デフォルトの名無しさん
08/12/27 17:29:19
>>378
↓こっちのがいいんじゃないの?
URLリンク(support.microsoft.com)

てか、"ツリー""ドラッグ"でググってトップに出てくるページを挙げても意味ない気がするんだが

383:デフォルトの名無しさん
08/12/27 22:58:29
GetTimeZoneInformationでサマータイムの開始時刻は取得できるのですが、終了時刻もしくはサマータイムである時間
を取得するにはどうすれば良いですか?日付でなく時刻が知りたいのですが・・・。
それともサマータイムって一日のうち何時間てのが決まってるんでしょうか?

384:デフォルトの名無しさん
08/12/27 23:20:48
はぁ?

385:デフォルトの名無しさん
08/12/27 23:26:18
俺が知ってるサマータイムじゃない

386:デフォルトの名無しさん
08/12/27 23:27:01
>>383
特定の日に1時間戻して特定の日に1時間進めて終わりとちがうんか?
つまり年2回時間をいじると

387:デフォルトの名無しさん
08/12/27 23:48:53
な、なんだってーーーーーーーーーーーーーー


ありがとうございました。ちなみに
10月3日2:00に始まって、3月3日2:00に終るとしたら、
開始時刻 <= サマータイム < 終了時刻
でいいんでしょうか?

388:デフォルトの名無しさん
08/12/27 23:50:25
意味gワカリマセン

389:デフォルトの名無しさん
08/12/27 23:51:58
>>387
うっせーな調べろよ
URLリンク(www.geocities.co.jp)

390:デフォルトの名無しさん
08/12/28 00:08:06
>>389ツンデレ乙

391:デフォルトの名無しさん
08/12/28 00:10:41
サマータイムを理解してないのに何をするつもりなんだろ

392:デフォルトの名無しさん
08/12/28 00:22:20
仕事での客からの依頼、じゃない?

393:デフォルトの名無しさん
08/12/28 00:38:30
時刻まわりはたしかに複雑だからわからんでもないけどな
新人で簡単だと思って取り組んではじめにやられる課題だろ>時刻

サマータイム時刻の12時と通常時刻の12時とで
重複カウントされて死ぬシステムに幸アレ!

394:デフォルトの名無しさん
08/12/28 01:00:17
仕事なら先輩か上司に訊けよ

395:デフォルトの名無しさん
08/12/28 01:57:20
仕事じゃないけど。

396:デフォルトの名無しさん
08/12/28 02:43:51
仕事じゃないなら自分で調べろハゲ

397:デフォルトの名無しさん
08/12/28 03:16:55
それにしたってサマータイムが1日ごとに設定しなおすものだという
思い込みの状態でプログラム組むとかこいつ馬鹿じゃねーのw

398:デフォルトの名無しさん
08/12/28 03:55:13
ま、仕事ならこんな常識外れの人は真っ先にリストラでしょ

399:デフォルトの名無しさん
08/12/28 08:11:24
うるう秒がきます。

400:デフォルトの名無しさん
08/12/28 08:46:23
きますね。

401:デフォルトの名無しさん
08/12/28 08:57:20
こいやぁー

402:デフォルトの名無しさん
08/12/28 09:59:19
うるう秒の間、息を止めてないと流星ガスで死ぬらしいよ

403:デフォルトの名無しさん
08/12/28 10:23:17
タイヤのチューブに空気入れておこう

404:デフォルトの名無しさん
08/12/28 10:49:48
流星ガスでタイヤのゴムが爆発するらしいよ

405:デフォルトの名無しさん
08/12/28 11:53:21
バスガス爆発

406:デフォルトの名無しさん
08/12/28 12:17:44
バスガスバスハツ

噛んだ

407:デフォルトの名無しさん
08/12/28 15:14:09
getPixelが遅いんですけどどうしたらいいですか

408:デフォルトの名無しさん
08/12/28 15:22:53
イメージを自分の確保したメモリ内で管理する

409:デフォルトの名無しさん
08/12/28 15:52:36
GetPixel/SetPixelは、色がどういうマッピングされるかの確認用とでも思っておいた方が良い。
実際の描画にはほぼ役に立たない。

410:デフォルトの名無しさん
08/12/28 16:22:55
メインのプログラムを走らす前に扱いたい画像データの全ピクセルについてgetPixelで得られる値を予め配列に格納しておいて、
メインのプログラムを走らせた時にはその配列データのみを参照するようにすればいいわけね。一つ別にプログラム書かないといけないな。

411:デフォルトの名無しさん
08/12/28 16:29:05
別のプログラムにする必要はないだろ・・・

412:デフォルトの名無しさん
08/12/28 16:35:24
CreateDIBSection

413:デフォルトの名無しさん
08/12/29 00:31:24
質問させていただきます.
WM_CREATE
が送られてきたときに、非常に時間のかかる処理(10秒~15秒くらい)をさせるのはやめたほうがいいでしょうか?



414:デフォルトの名無しさん
08/12/29 00:40:18
なんで止めた方が良いと思ったん?

415:デフォルトの名無しさん
08/12/29 01:06:53
別スレッドでやればいいやん

416:デフォルトの名無しさん
08/12/29 01:45:01
>>413
WM_CREATEに限らず、非常に時間のかかる処理はメインスレッドで
やらない方がいい。
メッセージに即座に応答できない状態だとOSから応答無しと判断されるし、
メッセージをブロードキャストするアプリケーションの動作にも影響する。

417:デフォルトの名無しさん
08/12/29 02:47:42
ウィンドウプロシージャは0.1秒以内に処理を終えなければいけないみたいな決まりがあるはず

418:デフォルトの名無しさん
08/12/29 04:37:05
>>417
詳細orサイトplz

それは意識してなかったorz

419:デフォルトの名無しさん
08/12/29 05:55:45
GetMenu()のようにポップアップメニューを取得できないでしょうか?
リストアイテムを選択中に右クリックした場合に出るコンテキストメニュー
(ポップアップメニュー)のハンドルやその要素一覧を取得したいのです。

420:デフォルトの名無しさん
08/12/29 06:01:53
> リストアイテムを選択中に右クリックした場合に出るコンテキストメニュー
出ねーよ

421:デフォルトの名無しさん
08/12/29 10:47:20
>>420
申し訳ありません、アイテムがメニューをもつわけではないですね。
その選択したアイテムを操作するようなメニュー(アイテムのコンテナが
もつメニュー)のことです。

422:デフォルトの名無しさん
08/12/29 10:56:04
ポップアップメニューって自分で表示しなきゃ出ないじゃん
少なくともAPIの範囲では

自分で明示的に表示してるものなのにハンドルが分からないって事は無いだろう

423:デフォルトの名無しさん
08/12/29 10:59:15
>>421
余計な言葉をつけずに

「メニューハンドルからメニューアイテム一覧を取得したい」

と言え。詳しく言ってるつもりが余計に分かりにくくなっている。

GetMenuItemCount/GetMenuItemInfo

424:デフォルトの名無しさん
08/12/29 11:34:41
>>423
いや欲しいのはメニューハンドルだろ?
「外部アプリのメニューを取得して何かしたい」んじゃねーの?

「外部からコンテキストメニューのメニューハンドルを取得する一般的な方法はない」がアンサーじゃね?

425:デフォルトの名無しさん
08/12/29 12:56:17
デスクトップの描画について質問があります。

以下のようにデスクトップのDCを取得して、描画するプログラムは作れるんですが、
描画した内容を消す方法がわかりません。
黒や白で塗りつぶすわけにはいかないし、どうしたらいいんでしょう。
終了ボタンを押したときでしか、描画が消えません。

// デバイスコンテキスト
HDC hdc = GetDC(NULL);

// 描画
Rectangle(hdc, 100, 100, 200, 200);

// 解放
ReleaseDC(NULL, hdc);


426:デフォルトの名無しさん
08/12/29 13:06:02
元の色保存しといて塗り直せ

427:デフォルトの名無しさん
08/12/29 13:14:43
>>425
InvalidateRectで再描画してもらう

428:デフォルトの名無しさん
08/12/29 13:17:20
InvalidateRect(0,0,false)

429:デフォルトの名無しさん
08/12/29 14:54:47
PaintDesktop

430:デフォルトの名無しさん
08/12/30 02:22:02
SW_HIDEを送って非表示になったウィンドウのウィンドウハンドルはどのように取得すればよいでしょうか?
そのウィンドウを持つプロセスIDはわかるのですが…

431:デフォルトの名無しさん
08/12/30 02:24:56
ずっと覚えとく

432:デフォルトの名無しさん
08/12/30 02:25:57
EnumWindows、GetWindowThreadProcessIdを組み合す

433:デフォルトの名無しさん
08/12/30 03:29:16
SW_HIDE を送るときに使う HWND は取得できるのに?

434:430
08/12/30 03:54:53
>>431,433
SW_HIDEは自身が送るものではない環境ですので…
ご回答ありがとうございます。

>>432
プロセスIDを取得する際にEnumWindowsを使っておりましたので
改めて考えるとすでに取得できていたのですね。助かりました。

435:デフォルトの名無しさん
08/12/30 13:42:38
今までFindFirstFileで全てのファイルを列挙するとき
"*.*"とやってたんですが、よく考えると"*.*"でディレクトリ
や拡張子のないファイルが引っかかるのはおかしい
気がするんですが、なぜでしょうか?

436:デフォルトの名無しさん
08/12/30 14:14:03
IsDBCSLeadByteExを使用して2byte文字の
先頭1byte目かという判定をしていたんですが、
0x82 0xF0(ひらがなの「を」)の2byte文字の

0xF0を指定して上記のAPIで判定をしたところ
FALSE以外。つまり2byte文字の先頭1byteという
判定が戻り値として戻ってきました。

これはIsDBCSLeadByteExのバグなのでしょうか?
または私の使い方が間違っているのでしょうか。

/* 2byte文字の1byte目かを判定 */
if(IsDBCSLeadByteEx(CP_ACP, 指定文字値) != FALSE)
{
}


437:デフォルトの名無しさん
08/12/30 14:16:14
case WM_KEYDOWN:
if(wp == VK_ESCAPE) 終了処理;

というようにエスケープキーを押したら終了するようにしたのですが、
EDITにフォーカスがあっているとEscを押しても終了してくれません
解決策があれば教えてください


438:デフォルトの名無しさん
08/12/30 14:23:54
>>436
2byte文字の2byte目にはいろんな値が来るので
0x82を判定したあと1文字飛ばしましょう(0xF0は判定しない)

439:デフォルトの名無しさん
08/12/30 14:25:12
>>436
使い方が間違っている。
IsDBCSLeadByteExはマルチバイト文字の1バイト目の範囲内にあるかどうかという判定しかしない。
1バイト目にも2バイト目にもくる可能性のあるコードならそうなる。
文字列渡してないんだから厳密な判定ができないのはわかるべ?

440:デフォルトの名無しさん
08/12/30 14:27:09
>>435
パターンが「.*」で終わる場合はその部分は無視される。だから「*.*」は「*」と同じ。
URLリンク(blogs.msdn.com)

>>436
0xF0は1byte目にも2byte目にもなりうるからだろ。
先頭から順に調べていかなくちゃ、本当の1byte目かどうかはわからない。
0x82がLeadByteと判明した時点で次の0xF0は読み飛ばさなきゃだめ。

>>437
WM_COMMANDでIDCANCELとか来ないの?

441:デフォルトの名無しさん
08/12/30 14:34:30
>437
WM_GETDLGCODE

442:デフォルトの名無しさん
08/12/30 14:36:17
コンソールでdir *.*とかすらやったことないのか・・

443:435
08/12/30 14:37:43
>>440
ありがとう、疑問が解決しました
今度から"*"にします。

444:435
08/12/30 14:43:54
>>442
むしろPC98時代からPC使ってたから
今まで疑問にも思わなかった

445:436
08/12/30 14:44:06
>>438-439
回答ありがとうございます。


私が本当にやりたい事はファイルからデータを読み込んで
エディットボックスに反映(処理ログみたいな)させていくというものなのですが、
一度に最大1023byteしか読み込ませないように(wsprintfの関係)制御しています。
しかし、この場合バイナリでReadしている為、文字化けが発生する可能性があり
それを回避する為、最大(1023byte)で読み込んだ場合、末尾のデータが
全角文字(2byte)の先頭1byte目かを判定して真の場合、読み込みポインタを
-1byteずらしているというやり方で回避させていたつもりなのですが、
>>436の記載したAPIの使い方を私が勘違いしていた為うまくいきませんでした。

ベタ書きでの判定となると
if((チェック値 >= 0x81 && チェック値 <= 0x9F) || (チェック値 >= 0xE0 && チェック値 <= 0xEF))
という感じになると思うのですが、こういう判定をしてくれるAPIは
提供されていないのでしょうか?

446:デフォルトの名無しさん
08/12/30 14:47:37
>>445
先頭から調べるか、調べたい場所から1バイトずつさかのぼって
1バイト目じゃない文字の部分から順に判定すればいい。

447:デフォルトの名無しさん
08/12/30 15:09:14
あるウィンドウプロシージャでコントロールのメッセージはWM_COMMANDとして送られてきますが、
コントロール自身のウィンドウプロシージャではどういう形でメッセージが飛んでくるんでしょうか?
たとえばリストボックスからのLBN_SETFOCUSはMSG = WM_COMMAND,WPARAM = (4 << 16) | 100ですが、
コントロール自身ではどう受け取ればいいのかが分かりません。もしかして頓珍漢なこと言ってますか?

448:デフォルトの名無しさん
08/12/30 15:12:48
コントロール自身がWM_SETFOCUSを受け取って、親に自分でLBN_SETFOCUSを投げてるんじゃないのか?

449:437
08/12/30 15:14:21
>>440
>>441
回答ありがとうございます

case WM_GETDLGCODE:
return DLGC_WANTALLKEYS;
case WM_KEYDOWN:
if(wp == VK_ESCAPE) 終了処理;

このような感じにしたのですが終わってくれません
何か間違いがあれば、ご指摘お願いします

450:デフォルトの名無しさん
08/12/30 15:26:21
>>448メルシー。じゃあ、LBN_SELCHANGEとかってのはコントロールの単純なサブクラス化じゃうまく捕らえられないのかな・・・

451:436
08/12/30 15:30:43
>>446
やはりそれしかないですよね。
ありがとうございました。

452:デフォルトの名無しさん
08/12/30 15:32:02
>>450
LBN_***はコントロールのプロシージャがユーザーの操作に応じて親ウィンドウに投げてる奴だから
サブクラス化しようが何しようが捕まえられんよ

そもそもそうしないためにWM_COMMANDがある

453:デフォルトの名無しさん
08/12/30 15:37:45
MFCだとメッセージリフレクションで実装されている処理の話だな。
結局の所、親に投げられたメッセージを引っ張り出す必要があるので、
残念ながら、コントロール側だけで完結するようには書けないな。

454:デフォルトの名無しさん
08/12/30 15:44:27
>>453
今ライブラリを作ってて、イベントハンドラ関連の整備してたんですが、そこで詰まりまして・・・
でも、WM_COMMANDのLPARAMってどうやら、コントロールのハンドルらしいですね。
ハンドルからクラスを引っ張ってくる仕組みは既にあるので、何とかなりそうです。
たしか、WM_COMMANDってアクセラレータとコントロールとメニューのメッセージが飛んでくるんですよね。
何とか頑張って実装してみます。ありがとうございました。

455:デフォルトの名無しさん
08/12/30 15:51:05
>>449
case WM_COMMAND:
if ( LOWORD( wParam) == IDCANCEL) 終了処理;

456:437
08/12/30 16:23:19
>>455
ありがとうございます
ですが、その通りにやっても動きませんでした
Escキーをおすとポーンと警告音みたいな音がするだけの状態です

457:デフォルトの名無しさん
08/12/30 16:27:06
>>445
そういう風にべた書きしても、436のように使えば全く同じ問題が起こる。
CP932でのIsDBCSLeadByteExだって同じことをやっているよ。

458:デフォルトの名無しさん
08/12/30 16:44:09
>>455
ダイアログリソースに ID = IDCANCEL のボタンを Visible = False で貼りつけてみ。

459:デフォルトの名無しさん
08/12/30 16:45:05
あ、>>456 だ。


460:デフォルトの名無しさん
08/12/30 16:54:59
>>458
ありがとうございます


case WM_CREATE:

CreateWindow(
TEXT("EDIT") , NULL ,
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_LEFT | ES_AUTOHSCROLL ,
0 , 24 , 100 , 24 , hWnd , (HMENU)1000 ,
g_hInst , NULL );

このようにEDITを作っていました
Win32APIをはじめたばかりでよくわからないのですがダイアログボックス(?)の勉強をしないと
話についていけそうにないので出直してきます。ありがとうございました

461:デフォルトの名無しさん
08/12/30 17:03:16
>>460
おやおや、ダイアログボックスじゃなくてウィンドウでの話だったのか?
だったら、メッセージループ while(GetMessage(&msg・・・){・・・} の中で WM_KEYDOWN を拾えばいいじゃん。
ここでメッセージを変換してウィンドウに送るコードを書いてるのは自分自身なんだぞ。

462:デフォルトの名無しさん
08/12/30 17:04:15
>>460を見る限り、おそらくメインとなるウィンドウもCreateWindow(Ex)で作っているんだろう。
だったら、TranslateMessage/DispatchMessageのところをこうしろ。
if (!IsDialogMessage(メインウィンドウのハンドル, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
そうすれば、>>458をやらなくても、455の処理が可能になる。
これをやると、ダイアログの挙動を示すため、ほかにも副作用があるけど。

463:デフォルトの名無しさん
08/12/30 18:11:39
>>461>>462
ありがとうございます
メッセージループ内でやったらうまくいきました

ところで、Win32APIを学ぶとき皆さんは何を参考にしましたか?
私はとりあえずテンプレートのサイトを見ているのですが、皆さんはやはり本などを1冊くらいはもっているのでしょうか?
先日まで、コンソールでプログラミングしていた私にとって、windosプログラミングはすごく難易度が上がって
戸惑っています

それから、見た目の部分(ウィンドウやリストボックス、メニューなど)はリソースエディターというもので
作るのが一般的なのでしょうか?参考程度に教えてください

464:デフォルトの名無しさん
08/12/30 23:43:27
クロスプラットフォームで動くGUIを作るとしたら
やはりJavaですか?

465:デフォルトの名無しさん
08/12/30 23:44:00
>>464
すみませんスレ間違えました

466:デフォルトの名無しさん
08/12/30 23:45:34
>>464
スレ違い

467:デフォルトの名無しさん
08/12/30 23:47:50
>>466
知らないならレスしないでください。ウザイだけです。

468:デフォルトの名無しさん
08/12/30 23:53:27
>>463
俺はとりあえず MSU へ行ってみた
今言わせればひでえ講義(特に OLE 関係)だったが
何を自習すべきかの参考にはなった

469:デフォルトの名無しさん
08/12/31 00:29:02
>>464
このスレ的には、Wineを信じてWin32API使え。

470:デフォルトの名無しさん
08/12/31 00:30:29
>>463
>本などを1冊くらいはもっているのでしょうか?
Win16の時代からやってるから、1冊どころではないな。情報源はそれしかなかったんだ。
手始めは「APIの散歩道」つう本だったと思う。今ならアマゾンで1円(古本)+送料で手に入るが。(笑)

それに比べると今はラクだぞ、インターネットで何でも調べられるし。
もっとも、転がってるのは玉石混在ではあるがな。

471:デフォルトの名無しさん
08/12/31 00:38:24
自分は本を勧めたいが、自身が猫で覚えた身ゆえ、積極的に勧める気になれない。

472:デフォルトの名無しさん
08/12/31 00:43:38
俺は現場のソースで覚えた

473:デフォルトの名無しさん
08/12/31 00:55:18
>>472
それが一番ダメなパターン

474:デフォルトの名無しさん
08/12/31 01:23:09
>>470
×玉石混在
○玉石混淆

475:デフォルトの名無しさん
08/12/31 01:27:26
>>474
四字熟語としては間違ってるけど、別におかしくはない。

476:デフォルトの名無しさん
08/12/31 01:34:31
あえて黙ってたのに
指摘する阿呆に
言い訳する阿呆

阿波踊りは他でやれ

477:デフォルトの名無しさん
08/12/31 01:36:22
あえて黙ってたのに
指摘する阿呆に
言い訳する阿呆

盆踊りは他でやれ

478:デフォルトの名無しさん
08/12/31 01:37:26
ウィンドウメッセージで392というのが飛んで来てはCallWindowProcが-1を返すんだが、
10進で392ってなんていうメッセージ?

479:デフォルトの名無しさん
08/12/31 01:42:01
392 == 0x188
winuser.hの中を調べる限りでは、LB_GETCURSELしか該当しなかった。

480:デフォルトの名無しさん
08/12/31 01:42:27
>>478
        ,.-─ ─-、─-、
      , イ)ィ -─ ─- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ , -─        Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    > ---- r‐'´
      ヽ_         |
         ヽ _ _ 」

     ググレカス [ gugurecus ]
   (西暦一世紀前半~没年不明)


481:デフォルトの名無しさん
08/12/31 01:50:35
>>473
何がダメなんだてめぇ
言ってみろクズ

482:デフォルトの名無しさん
08/12/31 01:53:13
明日実家に帰省するぜ!
ところでおまいら一年間振り返ってみるとやっぱおまいらの
技術力が一番参考になるわ

質問すると罵倒されるがちゃんと返してくれるしな
会社の連中は無関心すぎて役に立たないし第一話が通じなくてな


だから来年も困ったときはお前らに怒られながら質問するわ!
その時は罵倒しながらちゃんと答えてくれな

じゃあまた来年。
良いお年を!!!

483:482
08/12/31 01:55:02
>>481
レスした瞬間ワロタ


484:デフォルトの名無しさん
08/12/31 01:59:25
>>482
おう
良いお年を

485:デフォルトの名無しさん
08/12/31 03:34:29
>>468>>470>>471>>472
回答ありがとうざいます
みなさん人それぞれですね

私も早く一人前になれるようがんばります

486:デフォルトの名無しさん
08/12/31 05:58:40
>>408
URLリンク(oshiete1.goo.ne.jp)
の回答番号:No.8
>Win32 API を「Windows の API」だと発言した人をみんなで袋叩きにしている 2ch の書き込みを発見。
ってどこで行われたかわかりますか?
過去ログでもあればどのような状況のものだったか見てみたいので
スレリンク(tech板)l50
でも上記の内容を聞いたのですがAPIネタではなくてWin32APIネタならこちらの方が妥当だと思って質問紙をし直します。

487:デフォルトの名無しさん
08/12/31 07:12:34
>>486
スレ違い
帰れクズ

488:デフォルトの名無しさん
08/12/31 10:55:30
うるせーばかどっかいけ

489:デフォルトの名無しさん
08/12/31 12:48:21
ほのぼのしてるなー
見てて和むわw

490:デフォルトの名無しさん
08/12/31 12:48:44
質問です
以下のようにShellExecute で URL を print したときに独自のアプリケーションを関連付けしたいのですが、どのレジストリにキーを追加すればいいでしょうか?

HINSTANCE hInst = ShellExecute(NULL, L"print", L"URLリンク(www.google.co.jp)", NULL, NULL, SW_SHOWNORMAL);
※ShellExecute の第2引数に print、第3引数にURLを指定します

Expolorerのフォルダオプションのファイルの種類で、httpにprintを追加しましたが、ShellExecute の結果が SE_ERR_ACCESSDENIED (5) でエラーになりダメでした
htmlにも追加してみましたが、同様のエラー(SE_ERR_ACCESSDENIED)になりました
以下のレジストリへの登録は試したのですが、同様のエラー(SE_ERR_ACCESSDENIED)になりました

HKEY_CLASSES_ROOT\http\shell\print\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell\print\command

わかる方がいましたら教えてください

491:デフォルトの名無しさん
08/12/31 13:07:50
SE_ERR_ACCESSDENIED?
それだけを実行するシンプルなやつで試してみた?

492:デフォルトの名無しさん
08/12/31 13:10:43
TOPMOSTオプションをつけたウィンドウを作ったのですが
タスクバーより手前に表示できません(タスクバーをクリックするとウィンドウが隠れてしまう)

何か良い方法があれば教えてください

493:デフォルトの名無しさん
08/12/31 13:51:38
>>491
ShellExecuteだけを実行するアプリを作成して試してみましたが、ShellExecute の結果が SE_ERR_ACCESSDENIED (5) でエラーになりました
第3引数をURLではなく、.htmlファイルにしすると print した場合は ShellExecute で.htmlに関連付けしたアプリ起動できました。第3引数をURLにするとやはりエラーになります。
ShellExecuteで URL の print は無理なんですかね

494:デフォルトの名無しさん
08/12/31 13:55:42
>>490
HKEY_CLASSES_ROOT\htmlfile\shell\Print\command

495:デフォルトの名無しさん
08/12/31 15:51:58
DDEを考慮してないからだろ

496:デフォルトの名無しさん
08/12/31 16:57:13
URLの場合、
HKEY_CLASSES_ROOT\MIME\Database\Content Type
辺りから手繰っていかないと駄目な気がする。
Content Typeでの判断がメインで、拡張子はあくまで補助的なものだし。

497:デフォルトの名無しさん
08/12/31 17:58:08
テンポラリフォルダを空にするプログラムなんだけど、
"GetTempPath"でテンポラリフォルダを取得してそのままファイルを削除すると危険っぽいんで助けてください ><;

498:デフォルトの名無しさん
08/12/31 18:01:34
>>497
なぜ危険か承知しているなら、やめときなよ。
どのタイミングで削除するつもりだ?

499:デフォルトの名無しさん
08/12/31 18:01:38
You! やっちゃいなよ!

500:デフォルトの名無しさん
08/12/31 18:02:30
>>497
GetTempPathで取得したフォルダ以下を削除するプログラム作ったら
何故かD:\みたいなパスが返ってきていてDドライブ以下が全部消えた事ならある

501:490
08/12/31 18:03:10
>>494
残念ながら、そのレジストリをいじっても同様のエラーになりますた

>>495,496
DDEやらContent Typeとキーワードが出来てましたが、正直よくわからないので、
勉強してから挑戦してみます。㌧

502:デフォルトの名無しさん
08/12/31 18:04:05
環境変数見りゃわかんだろ

503:デフォルトの名無しさん
08/12/31 18:11:20
こちらのTaskbar Container のようにタスクバーからアイコンを一時的に消すには
どうしたらよいでしょうか?

Factorial
URLリンク(ray200x.s148.xrea.com)

検索しているのですが、なかなか見つかりません orz

504:デフォルトの名無しさん
08/12/31 18:23:51
>>498
任意でいつでも削除できるのを、止めといたほうがよさそうですね・・・
>>499
やっちゃってるお掃除ソフト見つけたけど、下手するとOS再インストールする羽目になりそうです ><;
>>500
TEMPフォルダが見つからないとそうなるっぽい、でもエラーは返さない (´・ω・`)

505:デフォルトの名無しさん
08/12/31 18:23:58
WS_EX_TOOLWINDOWをもつウィンドウはタスクバーには入らない。

506:デフォルトの名無しさん
08/12/31 18:28:11
>>504
ユーザーが任意で削除できるようなサポートツールならいいが、自動で全部消しちゃうよーなツールなら
怖くて使えない。他のソフトの一時的なバックアップファイルを勝手に削除して、そのソフトが動かなくなったらどーするよ?
一定時間ごとに自動バックアップするソフトは結構ある。それらのソフトが、自身で作ったテンポラリファイルすべてをロック
しているとも限らない。

507:503
08/12/31 18:34:59
>>505
Live Messengerを試しにTaskbar Containerに入れて
前後をWinSpectorで検証してみたのですが、
特にStyleやEXStyleは変化なしでした・・・うむむ

508:デフォルトの名無しさん
08/12/31 18:36:06
>>506
そうですよね、テンポラリフォルダはむやみに触ったらイケナイってことを理解しますた! (`・ω・´)

509:デフォルトの名無しさん
08/12/31 18:54:19
>>506
それって削除されると動かなくなるソフトの方が悪いんじゃまいか?
勝手に削除されて困るならロックしとくかApplication DataやLocal Settingsに置くべきだろ

510:デフォルトの名無しさん
08/12/31 18:58:41
>>509
ソフトが良くても悪くても動かなかったら困るだろ。

511:デフォルトの名無しさん
08/12/31 18:59:46
それは理解できるが、だからと言ってTemp全削除を行っていいわけにはいかない現実orz

512:デフォルトの名無しさん
08/12/31 18:59:48
昔、アンインストーラーがProgram Files以下を全消ししたエロゲを彷彿とさせられたw

513:デフォルトの名無しさん
08/12/31 19:01:02
>>503
それがどうやってるのか知らんけど、ITaskbarList を使えばできる

514:デフォルトの名無しさん
08/12/31 19:01:19
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \

515:デフォルトの名無しさん
08/12/31 19:02:30
>>509
その通りだよ。そのソフトが悪い。
でも、そういうところに手を抜いているソフトを、手を抜いていることを知らないで使っているユーザが
被害を被るよーなことは、避けたほうがいいと俺は思う。ニュアンス的には、未必の故意ってヤツだ。


516:デフォルトの名無しさん
08/12/31 19:55:43
>>515
Windows付属のツールでもTEMPフォルダのファイルを削除できるのだから
その程度でバグるようなソフトを考慮する必要なんてあるか?

exeと同じフォルダにファイル置くソフトがVistaでバグってるような物だろ。

517:デフォルトの名無しさん
08/12/31 20:15:58
>>516
>ユーザーが任意で削除できるようなサポートツールならいい
と最初に>>506最初に書いたんだがなあ・・・。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch