5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Win32API質問箱 Build92

1 :デフォルトの名無しさん:2010/12/26(日) 10:26:23
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやHなお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

■過去スレ
Win32API質問箱 Build91
http://hibari.2ch.net/test/read.cgi/tech/1289149302/

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

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

過去スレはwikiから探してください。

2 :デフォルトの名無しさん:2010/12/26(日) 10:48:59
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所


3 :デフォルトの名無しさん:2010/12/26(日) 11:14:39
スレ誘導

Win32API質問箱 Build92
http://hibari.2ch.net/test/read.cgi/tech/1293326606/

4 :デフォルトの名無しさん:2010/12/26(日) 11:15:54
重複したか・・・すまんかった

5 :デフォルトの名無しさん:2010/12/26(日) 12:05:21
エッチなまうまう?

6 :デフォルトの名無しさん:2010/12/26(日) 13:49:50
エッチしてるなう

7 :デフォルトの名無しさん:2010/12/27(月) 23:25:25
こっちが本スレです。

8 :デフォルトの名無しさん:2010/12/28(火) 04:27:38
重複してるけどあっちが先にたったからあっちが本スレで

9 :デフォルトの名無しさん:2010/12/28(火) 12:44:57
あっち向いてほい!

10 :デフォルトの名無しさん:2010/12/28(火) 15:20:46
重複してるけどこっちが本スレで

11 :デフォルトの名無しさん:2010/12/28(火) 18:23:55
アイちゃんが居ない方が本スレ

12 :デフォルトの名無しさん:2010/12/28(火) 18:51:02
>>11
両方いるじゃん

13 :デフォルトの名無しさん:2010/12/28(火) 21:22:17
ぶっちゃけアイちゃん飽きた

14 :デフォルトの名無しさん:2010/12/29(水) 08:09:56
定期あげ

15 :デフォルトの名無しさん:2010/12/30(木) 06:07:21
定期あげ

16 :デフォルトの名無しさん:2010/12/30(木) 13:17:16
さげ

17 :デフォルトの名無しさん:2010/12/31(金) 01:23:05
定期あげ

18 :デフォルトの名無しさん:2011/01/01(土) 03:04:12
定期あげ

19 :デフォルトの名無しさん:2011/01/01(土) 04:49:21
いいからAPI出せや

20 :デフォルトの名無しさん:2011/01/01(土) 06:17:59
RGBマクロを使うのと構造体を使うのとでは、どっちが高速?

21 :デフォルトの名無しさん:2011/01/01(土) 07:46:08
ゴミ箱からファイルを元に戻すのに苦労したわ

22 :デフォルトの名無しさん:2011/01/01(土) 08:05:17
それは、APIを使って戻すってこと?

23 :デフォルトの名無しさん:2011/01/01(土) 17:02:46
そうだよ

24 :デフォルトの名無しさん:2011/01/01(土) 17:58:51
使うのか?それw

25 :デフォルトの名無しさん:2011/01/01(土) 18:29:55
あまり使い道はないね、
エクスプローラーを模したファイラーとかではいるかも

26 :デフォルトの名無しさん:2011/01/01(土) 19:10:42
定期あげ

27 :デフォルトの名無しさん:2011/01/01(土) 21:37:17
Windowsのプログラムを作るときはGlobalAllocを使うほうがいいの?
CRTをリンクしない分小さくなると聞きました。

28 :デフォルトの名無しさん:2011/01/02(日) 10:16:36
特定の名前が含まれるファイルが
ゴミ箱に放り込まれたら
強制的に元に戻すとか。

29 :デフォルトの名無しさん:2011/01/02(日) 10:43:17
そして時は繰り返す

30 :デフォルトの名無しさん:2011/01/02(日) 11:37:19
特定の名前のファイルが作成されたら自動的に削除するプログラムと一緒に実行してみると面白そうだ

31 :デフォルトの名無しさん:2011/01/02(日) 11:40:49
無限ループって(ry

32 :デフォルトの名無しさん:2011/01/02(日) 12:23:03
っDeleteFile

33 :デフォルトの名無しさん:2011/01/02(日) 12:43:36
UNIXの質問なんでがPOSIXの関数を使ってCのC++ですがどうしての精度が大きいおでう
自分ではどうしてか取得関係のことですが精度がどうやってだしてるか分からないのですが
WIN32aPIではどうするかきてるのでしょう、か

34 :片山博文MZ:2011/01/02(日) 13:43:44
>>33 日本語でおk

35 :デフォルトの名無しさん:2011/01/02(日) 14:46:35
なんじゃ
外国の人が翻訳で質問したみたいw

36 :デフォルトの名無しさん:2011/01/02(日) 15:40:12
自動翻訳にましますもっと

37 :デフォルトの名無しさん:2011/01/02(日) 22:49:35
普通に日本語じゃね?

38 :デフォルトの名無しさん:2011/01/02(日) 23:05:40
>>33がわかるとかお前宇宙人かよ

39 :デフォルトの名無しさん:2011/01/02(日) 23:51:33
>>38
>>38
>>38
>>38
>>38

40 :デフォルトの名無しさん:2011/01/02(日) 23:59:14
宇宙人が交信してきたぞ

41 :デフォルトの名無しさん:2011/01/03(月) 00:48:17
色々電波を受信して考えてみたが解読できんw

42 :デフォルトの名無しさん:2011/01/03(月) 00:59:00
受信できたのかw

43 :デフォルトの名無しさん:2011/01/03(月) 09:21:11
定期あげ

44 :デフォルトの名無しさん:2011/01/03(月) 10:51:09
正月暇だからWin32APIでもやってみようと思って来てみたけど
意外とテンプレ充実してないな

45 :デフォルトの名無しさん:2011/01/03(月) 10:54:36
>>44
どんなのがあればいい?
とりあえずMSDN?それから猫とかWin32API入門系?

46 :デフォルトの名無しさん:2011/01/03(月) 11:59:53
CopyRectだけマスターすれば、あなたも上級者。

47 :デフォルトの名無しさん:2011/01/03(月) 13:30:47
SetRectは便利
CopyRectはいらない子

48 :デフォルトの名無しさん:2011/01/03(月) 13:48:59
BitBltって名前はどうにかならんのか

49 :デフォルトの名無しさん:2011/01/03(月) 18:10:08
定期あげ

50 :デフォルトの名無しさん:2011/01/03(月) 18:18:58
CopyRect超愛してる

51 :デフォルトの名無しさん:2011/01/03(月) 18:34:43
CopyRectっていつ使うの?
rect_destination_instance = rect_source_instance;じゃダメなの?

52 :デフォルトの名無しさん:2011/01/03(月) 18:43:28
typedef unsigned char byteってやると定義重複する・・・

53 :デフォルトの名無しさん:2011/01/04(火) 17:36:25
>>27
GlobalAllocは過去の遺物。
メモリ確保はHeapAlloc( 場合によりVirtualAllocを使い分ける)。
ただし、今時CRT抜くほど小さくする必要性もないだろうから、
すなおにmalloc使っていればいいよ。

>>51
昔のCコンパイラはそんな構造体型の代入ができなかった。CopyRectはその名残。

54 :デフォルトの名無しさん:2011/01/04(火) 19:14:55
>>53
メモリコピーも出来なかったの?

55 :デフォルトの名無しさん:2011/01/04(火) 21:34:11
構造体じゃなければ出来たって話だろ

56 :デフォルトの名無しさん:2011/01/04(火) 23:26:44
ってことは、昔は構造体を生のメモリとして扱えなかったの?

57 :デフォルトの名無しさん:2011/01/04(火) 23:40:08
構造体のコピーができることと生のメモリとして扱ってることにどんな関係があるって言うんだ?
そもそも生のメモリとして扱うってどういうことを言ってる?

58 :デフォルトの名無しさん:2011/01/05(水) 00:19:29
バーンインしてない、生のメモリの事だろ。

59 :デフォルトの名無しさん:2011/01/05(水) 06:33:10
火を通してないメモリのことか

60 :デフォルトの名無しさん:2011/01/05(水) 09:55:47
http://blogs.yahoo.co.jp/portdepantin/2077554.html
バーンイン試験

http://www2.renesas.com/quality/ja/system/productionquality/check.html
全数検査だから、焼いていない生のメモリはよほどのグルメじゃないと手に入らない。

61 :デフォルトの名無しさん:2011/01/05(水) 13:46:18
質問です。
プロセスの再起動はどういう仕組みになっているのでしょうか。
(Firefoxの再起動とか)
プロセスを終了してしまったら、起動できないと思うのですが(終了してしまっているので)。
再起動のためのAPIとかあるのでしょうか。


62 :デフォルトの名無しさん:2011/01/05(水) 13:48:46
起動してから終了すればいいだろ

63 :デフォルトの名無しさん:2011/01/05(水) 14:15:21
>>62

64 :デフォルトの名無しさん:2011/01/05(水) 15:57:47
>>62
それだと終了が失敗したらプロセスが増えちゃうでしょ


65 :デフォルトの名無しさん:2011/01/05(水) 17:17:56
そりゃしょうがないしそんなの無視でいい

66 :デフォルトの名無しさん:2011/01/05(水) 18:56:55
将棋覚えたては近衛兵の扱い方がヘタで
金銀>飛車角行って位置づけになる

67 :デフォルトの名無しさん:2011/01/05(水) 19:01:04
ボタンなどの上にマウスカーソルを置いたときに出る
ツールチップの文字列を取得したいのですが
どのようなAPIを使えばいいのでしょうか?

68 :デフォルトの名無しさん:2011/01/05(水) 19:06:41
gETwINDOWtEXT

69 :デフォルトの名無しさん:2011/01/05(水) 19:27:57
リストボックスのスクロールバーあるじゃないですか。
アレをクリックして下にスクロールした瞬間に選択してる項目も
一緒に一つ下にずらしたいんですが、
スクロールバーを下にスクロールしたという通知メッセージってないですよね?
何かいい方法ないでしょうか?

70 :デフォルトの名無しさん:2011/01/05(水) 21:11:11
>>68
ありがとうございます。
重ねて質問で申しわけないんですが、
ツールチップハンドルの取得は、どうやったらできるのでしょうか?
TOOLTIPS_CLASSでウィンドウ検索などはやってみたのですがうまくいきませんでした。

71 :デフォルトの名無しさん:2011/01/05(水) 21:25:22
外部プログラムが対象という話なら、取得は不可能なケースのほうが多いと思う

72 :デフォルトの名無しさん:2011/01/06(木) 00:38:02
>>71
はい、外部プログラムが対象です。
自分でもいろいろ試してみたのですが、難しいようです。
ありがとうございます。

73 :デフォルトの名無しさん:2011/01/06(木) 01:29:30
定期あげ

74 :デフォルトの名無しさん:2011/01/06(木) 09:45:02
spy++でできる

75 :デフォルトの名無しさん:2011/01/06(木) 10:05:29
>>69
WM_VSCROLL

76 :デフォルトの名無しさん:2011/01/06(木) 11:02:54
>>72
グローバルフックかけてWM_NOTIFYを捕まえればできるかもよ。

77 :デフォルトの名無しさん:2011/01/06(木) 14:16:49
プログラムの質問というよりはOSの質問になるかもしれません。

簡単なファイルのサーチするプログラム作成しました。
FindNextFile()でC:\配下の全ファイルを検索したところ、C:\Users\配下に変なディレクトリパスを拾ってきたのですがこれは何でしょうか?
C:\Users\XXX\Local Settings\AppData\Local\Application Data\ApplicationData\Application Data\Application Data\・・・・
Application Dataのディレクトリが数回層続いており、その配下にファイルが多数あるように見えます。
エクスプローラではもちろんアクセスできませんが、コマンドプロンプトではディレクトリ移動(cd)でアクセスはできました。

ご存知の方がいましたら教えていただけないでしょうか?


78 :77:2011/01/06(木) 14:25:34
OSはWindows7です。 XPではおこらなかったと思います。

79 :デフォルトの名無しさん:2011/01/06(木) 14:37:22
>>77
FILE_ATTRIBUTE_REPARSE_POINT

80 :77 :2011/01/06(木) 15:00:58
>> 79
ありがとうございます。
ディレクトリの属性がFILE_ATTRIBUTE_REPARSE_POINTの場合は飛ばすで解決できそうです。

81 :デフォルトの名無しさん:2011/01/06(木) 19:52:55
次期WindowsはARMをサポートっていう噂だが、
これってx86用のコード動くの?
それともOS側でエミュレート的なことやるの??

82 :デフォルトの名無しさん:2011/01/06(木) 19:59:53
ネイティブでは動かない。
intelとamdの関係とは根本が違う。仮想化も意味なし。
最低限リコンパイルが必要。そんなのをサポートするとは思えないが。
CEならあるかもしれないけど。

83 :デフォルトの名無しさん:2011/01/06(木) 20:10:26
昔x86以外のWindowsNTが出てた頃はx86をエミュレートしてたという話だけど
今ならもしかしたらVirtualPCでXPモード的なことをやるのかもしれないが
どうだろうね

84 :デフォルトの名無しさん:2011/01/06(木) 22:16:38
寝言言うなよ。
当時のCPUでバイナリエミュレーションやったら、ドンだけ低速か想像できないのか? w

85 :デフォルトの名無しさん:2011/01/06(木) 22:33:22
情弱だらけだな・・・
モジュール化の話知らないの?その時既に次期OSについて色々言及してるよ。

>>84 は20年くらいROMっとけ

86 :デフォルトの名無しさん:2011/01/06(木) 22:41:53
decのalphaの事を言ってるのでは
x86のコードを一生懸命、alphaのコードに変換するようなことをやってたみたいだけど

87 :デフォルトの名無しさん:2011/01/06(木) 23:28:11
モジュール化(笑)

88 :デフォルトの名無しさん:2011/01/07(金) 10:25:05
Alphaは64ビットだから当時のx86を模倣しても半分は余裕がある
クロックも先頭走ってたし

89 :デフォルトの名無しさん:2011/01/07(金) 11:48:02
64bitのわりにメモリ2Gの縛りがあったみたいだけど

90 :デフォルトの名無しさん:2011/01/07(金) 13:14:22
リストコントロールで、頭文字のキーを押すと、その項目を選択するようにしたいのですが
これは独自に実装しなければならないのでしょうか?

91 :デフォルトの名無しさん:2011/01/07(金) 13:27:11
かな名寿司も

92 :デフォルトの名無しさん:2011/01/07(金) 15:06:54
>>89
当時は2Gなんて天文学的な数字だったり

93 :デフォルトの名無しさん:2011/01/07(金) 19:08:05
WinXP以降でWin32APIでファイルをドラッグ&ドロップで「圧縮(zip形式)」にドロップしたいです。
(zipで圧縮して欲しい)

::CopyFileや::MoveFileでは反応してくれませんでした。
(zipにならなかった。)

どうすればユーザがドラッグドロップするのと同じ事をできますか?

94 :93:2011/01/07(金) 19:09:37
あ、みなさんご存知かもしれませんが
「圧縮(zip形式)」っていうのはC:\windows\system32\の下のどこかにある、見た目フォルダのアイテムです。
ここにファイルをドロップするとzipに圧縮してくれるみたいです。

95 :デフォルトの名無しさん:2011/01/07(金) 20:24:12
>>94
ttp://eternalwindows.jp/installer/zip/zip00.html

96 :93:2011/01/08(土) 04:23:49
>>95
ありがとうございます!!
早速勉強開始です。

97 :デフォルトの名無しさん:2011/01/08(土) 09:26:35
たいていユーザはそんなモノ消してるから
統合アーカイバのDLLでも組み込んだほうがまし

98 :片山博文MZ:2011/01/08(土) 13:08:40
>>61
別プロセスを起動して、そこで元のプロセスが終了するまで待ち、
元のプロセスが終了したら、元のプロセスを再起動する。OpenProcessを参照。
>>67
CreateToolhelp32Snapshotで外部プロセスのIDを取得。
GetWindowThreadProcessId, FindWindow, FindWindowExで再帰。

99 :デフォルトの名無しさん:2011/01/08(土) 13:26:47
IE8なんですが、CreateProcessで任意のHTMLを表示すると
必ず新しい別ウィンドウが開いてしまいます。
やりたいのは、
・IEがひとつも起動していなかれば起動してHTMLを表示する。
・IEが起動しているなら、新しいタブを開いてHTMLを表示するです。

起動オプションを調べたりいろいろやってみたのですがうまくいきません。
ブラウザの設定ではタブを使用するようにしています。

ちなみにShellExecuteでも同じ結果でした。

あと、コマンドラインからieを起動すると必ず別々にieが起動しました。

MFC(VS2005)でやってます。
何かアイデアをください...。

100 :デフォルトの名無しさん:2011/01/08(土) 13:46:09
そういうのコマンドラインで指定できた気がするが忘れた
最悪そういうBHO作ればいいんじゃね

101 :デフォルトの名無しさん:2011/01/08(土) 14:30:59
OLEオートメーションに接続すればいい

102 :デフォルトの名無しさん:2011/01/08(土) 15:21:51
>>99
やり方間違っているだけだろ

103 :デフォルトの名無しさん:2011/01/09(日) 00:55:16
updown controlをCreateWindowExで作成したとき
ダイアログに置いたedit controlをバディウィンドウにするとちゃんとドッキングして枠内に入るのに
CreateWindowExで作ったedit controlをバディウィンドウにすると隣にくっつくだけで枠内に入ってくれない
spy++でウィンドウスタイル見て両者同じスタイルにしたんだけど・・・
これってWindowsの仕様?Zオーダー等の問題?

104 :デフォルトの名無しさん:2011/01/09(日) 03:10:17
>>95
イイな、そのページ

105 :103:2011/01/09(日) 06:38:53
どうもedit controlをサブクラス化(スーパークラス化?)するのがいけないらしい
edit controlの非クライアント領域を広げてそこにupdown controlを描画しているのだから
非サブクラスなedit controlのみに対して特別なコードを仕込んでるのだろうか
ここらへん詳細が分かる方いらっしゃいますか?

106 :デフォルトの名無しさん:2011/01/09(日) 07:13:30
何を悩んでるのか分からないけど
Editとmsctls_updown32のバディ指定で実現されている
スピンエディットってそういうものだよ。


107 :デフォルトの名無しさん:2011/01/09(日) 09:40:23
チャットソフト作っている。

エディットに打ち込んだ文章をメインウィンドウに出力していくには何の関数をどう使えばいいんですか?



108 :デフォルトの名無しさん:2011/01/09(日) 09:54:23
SetWindowText

109 :デフォルトの名無しさん:2011/01/09(日) 10:12:23
WM_COPYDATAをSendMessage

110 :デフォルトの名無しさん:2011/01/09(日) 10:24:46
DrawText

111 :デフォルトの名無しさん:2011/01/09(日) 14:00:11
なんか、いまさらWin32APIを勉強しようと思って
DWORDとかCTPSTRとか、_TマクロとかWCHARとかマルチバイト文字列とかいわれても
まとまってる参考書無いんですが。。MSDNみるのは、時間かかるから本でまとまってるのがあればいいなあとおもう。

もうWin32でてから15年くらいたっているんでしょ?

いまだに、日経ソフトウェアとかでWin32の特集とか頻繁にやってるからやってみたいんだけど
基礎的な情報が少なすぎます

112 : [―{}@{}@{}-] デフォルトの名無しさん:2011/01/09(日) 14:06:52
windowsゲームプログラミングと
プログラミングwindows(上)を
読めば

113 :デフォルトの名無しさん:2011/01/09(日) 14:18:56
プログラミングwindows(上)
↑これもってるけど、そういうことのってないよ。

114 :デフォルトの名無しさん:2011/01/09(日) 14:27:29
Advanced Windowsのほうに載ってるよ。

115 :デフォルトの名無しさん:2011/01/09(日) 14:35:30
>>111
だから本が売れるんだよ
世知辛いよねぇ
人間不信真っ只中ですw

116 :デフォルトの名無しさん:2011/01/09(日) 14:48:49
>>111
九九が分かれば何桁の掛け算でも分かるのと同じで
CHAR、WCHAR、TCHAR
これらの違いが分かれば後は応用だから必要ないんだよね

117 :デフォルトの名無しさん:2011/01/09(日) 14:52:41
まともな技術書は高いからね。
ついつい三千円以下の安くて分かりやすそうな解説本を選んでしまって失敗する。

118 :デフォルトの名無しさん:2011/01/09(日) 14:54:38
アルアル

119 :デフォルトの名無しさん:2011/01/09(日) 14:55:20
高いから内容があるとは限らんでしょ

120 :デフォルトの名無しさん:2011/01/09(日) 14:56:06
その辺の解説ならプログラミングwindows(上)が一番わかりやすかったと思うけど

121 :デフォルトの名無しさん:2011/01/09(日) 14:59:13
_TマクロとかWCHARとかマルチバイト文字列の解説は
プログラミングwindows(上)の最終バージョンで追加されたから
載ってないと言ってる人はたぶん古いやつ

122 :デフォルトの名無しさん:2011/01/09(日) 15:20:01
SDKのヘッダファイルをgrepしたほうが早い

123 :107:2011/01/09(日) 17:01:41
回答ありがとう。

しかし分からないw

知りたいのは、たとえばDrawText関数で文章を一文メインウィンドウに出力したとして、その次に入力された文章をそこに順次足していくにはどうすればよろしいのでしょう?

124 :デフォルトの名無しさん:2011/01/09(日) 17:09:28
次の文章が入力されたらDrawTextを2回使えば最初の文章と次の文章を表示できます
3つめの文章が入力されたらDrawTextを3回使えば最初の文章と次の文章と3つめの文章を表示できます
文章がいくつ増えても同じことです

125 :デフォルトの名無しさん:2011/01/09(日) 17:15:06
>>123
void CHogeWindow::LogEdit_AppendText(const char *text){
if(m_closing)
return;
EnterCriticalSection(&LogEditCS);
int Len = SendMessage(m_hLogEdit,WM_GETTEXTLENGTH,0,0);
SendMessage(m_hLogEdit,EM_SETSEL,(WPARAM)Len,(LPARAM)Len);
SendMessage(m_hLogEdit,EM_REPLACESEL,0, (LPARAM)text);
LeaveCriticalSection(&LogEditCS);
}
まぁ、ご参考に。

126 :107:2011/01/09(日) 18:44:03
>>125
ん、出力ウィンドウは、エディットコントロールにしろ、ということでしょうか?


127 :デフォルトの名無しさん:2011/01/09(日) 19:11:41
>>126
エディットでもリッチでもリストでも好きにすればいいけど
さしたる理由も無くDrawTextで自前描画する人はいないでしょうねぇ

128 :デフォルトの名無しさん:2011/01/09(日) 20:37:49
文字の幅や高さから次の位置を計算する

129 :デフォルトの名無しさん:2011/01/10(月) 02:59:34
malocをまろっくって読む新人さんがいて和んだ

130 :デフォルトの名無しさん:2011/01/10(月) 04:03:26
malocは聞いた事が無いな

131 :デフォルトの名無しさん:2011/01/10(月) 04:57:59
Mr.malloc

132 :デフォルトの名無しさん:2011/01/10(月) 07:10:17
まぁろっく じゃなかったらなんて読むの?

133 :デフォルトの名無しさん:2011/01/10(月) 09:26:27
えむ・あろっく

134 :デフォルトの名無しさん:2011/01/10(月) 09:31:50
俺は麻呂と読んでるけどな

135 :デフォルトの名無しさん:2011/01/10(月) 10:13:25
めろっく

136 :デフォルトの名無しさん:2011/01/10(月) 10:23:06
http://www.youtube.com/watch?v=23mp8IUA6z4
(34:15)

http://www.youtube.com/watch?v=GRbyZNDArNI
(2:36)

http://www.youtube.com/watch?v=RL4c_Wxgwc0
(0:30)

http://video.google.com/videoplay?docid=2914803742593360351#
(0:20)

http://www.youtube.com/watch?v=G4uioaFmU3k
(6:36)

エムアロックな人が見つからん

137 : [―{}@{}@{}-] デフォルトの名無しさん:2011/01/10(月) 10:48:40
メムアロック

138 :デフォルトの名無しさん:2011/01/10(月) 12:19:23
モロッコ

139 :デフォルトの名無しさん:2011/01/10(月) 12:30:16
男女

140 :デフォルトの名無しさん:2011/01/10(月) 12:30:27
エムオトコな人?

141 :デフォルトの名無しさん:2011/01/10(月) 13:23:54
質問です。
ディスプレイドライバの名前を取得したいのですが
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\VIDEOの\Device\VideoX(※)
にディスプレイドライバのレジストリの位置が格納されていますが、
XPではうまく動くのですが 7だとRDPDDのようなドライバ行き着いてしまい
本当のドライバ名を得ることができません。
XPだと大体※がVideo0になるのですが、7やVistaだと3や4に入っているようです。
この3や4はどこから得たら良いのでしょうか。

海外情報をググりまくってみましたがみんなここで止まっていて
解決事例を見つけることができていませんorz


142 :デフォルトの名無しさん:2011/01/10(月) 13:47:40
WMI使って情報を取得してみれば?たぶんいける。

143 :デフォルトの名無しさん:2011/01/10(月) 14:15:31
>>142
ありがとうございます。
確かに取得できそうです。
これはレジストリの情報と同じものと考えて良いのでしょうか。

144 :デフォルトの名無しさん:2011/01/10(月) 17:36:05
プログラミングWindowsにかわるWindows API系の本書いたら
ちょっとは売れるかな?

Vista 以降に追加された機能も含めて 3000ページぐらいで。

145 :デフォルトの名無しさん:2011/01/10(月) 17:44:29
間違い無く売れる

146 :デフォルトの名無しさん:2011/01/10(月) 18:23:56
ついでにPDF版も売ってくれると検索が楽になってありがたい

147 :デフォルトの名無しさん:2011/01/10(月) 18:35:56
単にapiの解説書だったらMSDNで充分

148 :デフォルトの名無しさん:2011/01/10(月) 18:40:54
MSDNは重要なトコにかぎってリンク切れてたり
Reserved とかなってる割に、呼んでみるとしっかり値が帰ってきたりするので
そういう本当に使える書籍ならほしい。

149 :デフォルトの名無しさん:2011/01/10(月) 19:33:02
MSDNは既に一度理解した人が思い出すための解説になってる
のがつらい。初めてだと分かり難い。

150 :デフォルトの名無しさん:2011/01/10(月) 19:41:00
辞書ですから

151 :デフォルトの名無しさん:2011/01/10(月) 19:55:12
ちゃんとOverviewっていう技術解説の項目があるだろ
英語だけど

152 :デフォルトの名無しさん:2011/01/10(月) 20:37:31
神様教えてください。
レイヤード ウィンドウにするためのWS_EX_LAYEREDは、
windows2000以降とあるのですが、
それ以前のバージョンでこれを指定すると、
どーなってしまうのでしょうか?

ウィンドウ枠無しの、全画面トップモースト表示
のソフトを作っているのですが
真っ黒になって、操作不能になる感じでしょうか?


153 :デフォルトの名無しさん:2011/01/10(月) 21:00:16
無視されるだけなんじゃないの

154 :デフォルトの名無しさん:2011/01/10(月) 21:08:57
そもそもビルドした実行ファイルが動かないから心配するな。

155 :デフォルトの名無しさん:2011/01/10(月) 21:15:36
動くことは動くだろ
カーネルにない関数叩いたときにオワタになるだけ

156 :152:2011/01/10(月) 21:26:54
>>154
それだと有難いです!!いえ〜ぃ!

タスクバーから終了のソフトなので、「無視」で真っ黒ウィンドウ
になったりすると、うっかり古バージョンウィンドウズの人が
実行した時に、操作不能(≒)になってしまうのが怖かったのです。


>>155
そうなるとバージョンを取得して、2000より前だと→終了などが
必要になりますよね。すごく面倒臭いです!!!
でもやっぱそうですよね。。。

ありがとうございました。

157 :デフォルトの名無しさん:2011/01/10(月) 21:55:53
/SUBSYSTEM:WINDOWS,5.00

158 :デフォルトの名無しさん:2011/01/10(月) 22:16:11
指定したウィンドウ(バックグラウンド)にCtrl+V(貼り付け)を送信するにはどうすれば良いでしょうか
下記のようにしてみたのですが、Vしか送信されていないみたいです
間にSetFocusを入れて対象のウィンドウをフォアグラウンドにすると上手くいくのですが
あくまでバックグラウンドでの処理をしたいので・・・

(ソースはC#です)
public static void SendCtrlV(IntPtr handle)
{
    byte[] bKeyState = new byte[256];

    UInt32 thisThread = GetCurrentThreadId();
    UInt32 targetThread = GetWindowThreadProcessId(handle, IntPtr.Zero);

    AttachThreadInput(thisThread, targetThread, true);

    GetKeyboardState(bKeyState);
    byte bCtrlTemp = bKeyState[VK_CONTROL];

    // Ctrlを押下状態にする
    bKeyState[VK_CONTROL] = 0x80;
    SetKeyboardState(bKeyState);

    // Ctrl+V
    SendMessage(handle, WM_CHAR, VK_V, 0);

    bKeyState[VK_CONTROL] = bCtrlTemp;
    SetKeyboardState(bKeyState);

    AttachThreadInput(thisThread, targetThread, false);
}


159 :デフォルトの名無しさん:2011/01/10(月) 22:23:57
SendInput

160 :デフォルトの名無しさん:2011/01/10(月) 22:29:47
OPENGLのMDIアプリケーションで
子ウィンドウをそれぞれのフォーム作成時に

hdc = GetDC(Handle);
//ピクセルフォーマットの初期設定
SetPixelFormatDescriptor();

という風に毎回とるようにしているのですが
子ウィンドウを作るたびに、一番新しいウィンドウしか有効にならないようです
どうすればそれぞれにレンダリングコンテキストを有効にできるのでしょうか

161 :152:2011/01/10(月) 22:32:06
>>157
すごく有難いことを教えて頂いたのだと思います。
ただ、理解するのに数日かかりそうなので、先に言っておきます。
有難うございました。

162 :デフォルトの名無しさん:2011/01/10(月) 22:33:39
>>158
SendMessage(targetThread,WM_PASTE,0,0);

163 :デフォルトの名無しさん:2011/01/10(月) 22:34:26
SendMessage(handle,WM_PASTE,0,0);
だった

164 :デフォルトの名無しさん:2011/01/10(月) 23:44:59
>>160
OpenGLはスレッドに対して、1windowというか1コンテキストだった気がする。
同じスレッドで呼び出したいなら、切り替える必要がある。
レンダリングをそれぞれ独立したスレッドでやったらどうだろうか。
というのは予想で、MDIの動作はやったことないな。

165 :デフォルトの名無しさん:2011/01/11(火) 01:34:17
>>159,162
ありがとうございます
しかし、SendInputはフォアグラウンドでないと機能しないようでした
WM_PASTEのメッセージ送信はも反応がありませんでした
対象をテキストエディタにした場合には正常に貼り付けできていたので、該当アプリにWM_PASTEメッセージの処理が実装されていない感じです

ちなみに元のソースでSetFocusでフォーカス設定した際には出来たというのはどうやら勘違いのようでした
SetKeyboardStateの返り値は正常終了となっているが押下状態になっていない感じでした
(フォーカスを設定したのち、keybd_eventでCtrlを送ってから or 手動でCtrlを押しながら Vを送る正常に貼り付けできたため)
AttachThreadInputでアタッチすれば効果があると思ったのですが・・・

別の手段がありましたら是非よろしくお願いします

166 :デフォルトの名無しさん:2011/01/11(火) 07:48:09
電子書籍なら買う
紙書籍は置き場所取るし気軽に持ち歩けないし誤植はいつまでもそのままだし全文検索もリンク機能もないしコピペもできないからいらん
値段も電子のが安いんでしょ?

167 :デフォルトの名無しさん:2011/01/11(火) 11:18:33
>>144
俺も買う
XPのテーマとかVistaの拡張子関連付けとか苦労した

168 :デフォルトの名無しさん:2011/01/11(火) 13:03:32
文字列構成するときに、{1},

169 :デフォルトの名無しさん:2011/01/11(火) 13:06:21
文字列構成するときに、{1},{2} と位置指定できるような API ありますか?
%s とかだと、引数として渡した順番で入っちゃうけど
ローカライズの時って困っちゃうことになることあるから。

170 :デフォルトの名無しさん:2011/01/11(火) 13:23:48
FormatMessageとか?

171 :デフォルトの名無しさん:2011/01/11(火) 14:02:32
OS提供のでなくていいのならBoost.Formatとか

172 :デフォルトの名無しさん:2011/01/11(火) 14:45:56
FormatMessage でいけそうですね。
さんくす。

173 :158:2011/01/11(火) 15:31:23
自己解決しました
該当アプリではどうやらTranslateMessage()処理により、Ctrl+V(貼り付け)と同等の効果をもたらすには
WM_KEYDOWN(VK_CONTROL)
WM_KEYDOWN(VK_V)
WM_CHAR(0x00000016) ※VK_V - VK_A + 1
という順番でメッセージを送れば良いようでした

174 :デフォルトの名無しさん:2011/01/11(火) 20:30:23
>>166
電子書籍みたいに気楽に修正できる媒体になると
出版側が間違ったら訂正すればいいやとか考えて
MSDNと大差ないものになるに 1024 HWND

175 :デフォルトの名無しさん:2011/01/11(火) 21:28:51
>>144のやる気次第

176 :デフォルトの名無しさん:2011/01/12(水) 07:56:04
定期あげ

177 :デフォルトの名無しさん:2011/01/12(水) 08:50:42
GetDoubleClickTime をいくつかのプログラムで使ったんだけれど、
これって同じシステムマウス設定の他のプログラムやエクスプローラーのダブルクリックで感じるダブルクリック認識スパンより長くないですか?
今は値を半分にして使っています。

178 :デフォルトの名無しさん:2011/01/12(水) 13:02:02
お前のコードが間違っている

179 :デフォルトの名無しさん:2011/01/12(水) 22:47:59
質問させてください。
環境はVisualStudio2010評価版?(無料のやつ)、
ウィンドウに文字を表示したくてDrawTextを使っています。

DrawText( hDC, data, -1, &rc, DT_END_ELLIPSIS );
とあるdata(表示したい文字列)に
LPCTSTR data = TEXT("%s\n",string1);
のように引数を入れると
warning C4002: マクロ 'TEXT' に指定された実引数の数が多すぎます。
と出てしまいます。

表示する文字列を変えたくて以上のようなプログラムを書いたのですが、
どこが良くないのでしょうか?
またDrawTextで出来ないのであれば何をしようすればよいでしょうか。
教えてくださいm(_ _)m
一応DrawTextやエラーメッセージの内容を検索してみたのですが
解決策がみあたりませんでした・・・

180 :デフォルトの名無しさん:2011/01/12(水) 23:14:47
スレチ
C++初心者スレ池

181 :デフォルトの名無しさん:2011/01/12(水) 23:21:39
>>179
ちょっとまて,その string1 っていうのは何型の変数なの?
それが分からないと答えられない。

182 :デフォルトの名無しさん:2011/01/12(水) 23:36:11
え、TEXT まくろって
文字列に L つけるかつけないかだけじゃなかったの?
sprintf みたいな機能ってあった?

183 :179:2011/01/13(木) 00:25:48
>>180
すみません。
C++初めてなのでDrawTextはAPIだと思ってました。
出直します。

>>181
char string1[1024]のような感じになっています。


184 :デフォルトの名無しさん:2011/01/13(木) 01:21:49
char data[2000];
wsprintf(data,"%s\n",string1);
DrawText( hDC, data, -1, &rc, DT_END_ELLIPSIS );

185 :179:2011/01/13(木) 02:37:47
>>184
ありがとうございます!
dataを大きめの配列にするのですね。
どうやら他の方がおっしゃったようにC++も知識不足のようですので、
勉強してきます。


186 :デフォルトの名無しさん:2011/01/13(木) 10:35:32
そのまんま出せばいいだけの気がするけど
最後に改行すると何かいいことあるのかな

187 :デフォルトの名無しさん:2011/01/14(金) 20:10:29
CoCreateInstanceでIShellDispatchを生成しようとすると、
0x80040154 (REGDB_E_CLASSNOTREG)が返ってきます。
OSの機能が未登録なんてことはあるんでしょうか?
ダメ元でregsvr32 shell32.dllとやってみましたが変わりませんでした。
何か原因として思い当たることがありましたらご教示下さい。
環境はWindows7です。

188 :デフォルトの名無しさん:2011/01/14(金) 20:24:14
CLSID_Shellで作れないの?

189 :187:2011/01/14(金) 20:56:21
はい。
レジストリの登録情報(HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540000})
を直接見てみましたがちゃんとありました。
書き忘れましたが、CoCreateInstanceのコールは以下のようにしています。
CoCreateInstance(CLSID_Shell, 0, CLSCTX_ALL, IID_IShellDispatch, (LPVOID*)&pShellDispatch);

190 :デフォルトの名無しさん:2011/01/14(金) 21:01:50
CoInitialize読んでないとか

191 :187:2011/01/14(金) 21:05:14
それは大丈夫です。
例えばCLSID_HTMLDocumentだとか、関係ないクラスで試してみましたが生成できました。

192 :デフォルトの名無しさん:2011/01/14(金) 22:01:29
CLSCTX_ALLをCLSCTX_INPROC_SERVERにしてみたら?

193 :デフォルトの名無しさん:2011/01/15(土) 11:17:13
IMAPI v2でBlu-rayの物理フォーマット出来ますか

194 :デフォルトの名無しさん:2011/01/15(土) 14:43:10
メールのテリア使いだけ

195 :187:2011/01/15(土) 23:00:00
>>192
CLSCTX_ALLはCLSCTX_INPROC_SERVERを含んでいるので、試してみましたがやはりだめでしたね。

196 :デフォルトの名無しさん:2011/01/15(土) 23:48:27
CLSID_Shellでググレばすぐわかるんだけどな。
情弱ってカワイソス

197 :デフォルトの名無しさん:2011/01/16(日) 05:53:56
>>196
>>188
>>189

198 :デフォルトの名無しさん:2011/01/16(日) 12:03:57
ボタンやスクロールバーみたいなコントロールを完全に独自に作りたい
場合は,ウィンドウクラスの登録と専用ウィンドウプロシージャ用意して,
CreateWindowで作ればいいの?
どこかいい参考資料ある?

199 : [―{}@{}@{}-] デフォルトの名無しさん:2011/01/16(日) 12:20:18
枠のないウィンドウを作って画像を表示すればいい
要はゲームを作るのと一緒
ボタンとかも全部画像表示すればいいだけ
マウスクリックの座標とか全部自分で設定しないといけないけど

200 :デフォルトの名無しさん:2011/01/16(日) 14:38:02
デバッグツールを作っていて、
他プロセスの仮想メモリ空間へwriteしたいんだが、
ProcessMemoryWriteしても書き込めない領域があるみたい

OpenProcess でアクセス権Allにしてもだめっぽい。
何か方法ある?


201 :デフォルトの名無しさん:2011/01/16(日) 15:25:54
ゲームプロテクト環境下でないという話なら、お前のコードが間違っている。
APIのせいにする前に見直せ。

202 :デフォルトの名無しさん:2011/01/16(日) 16:26:41
>>201
あ、やはり。
デバッグツールは嘘でハッキングツールを勉強がてら作ってみてるのが本当でした。
なのでまさに、ゲームプロテクト環境下でつ。
プロテクト周りの仕組みのってるページとかないかな。(スレチだけど)
昔みたことがあるんだけど、みつけられない。


203 :デフォルトの名無しさん:2011/01/16(日) 16:52:47
メモリ読み書き系は基本的すべてフックされている。APIの実体の先頭バイトを見てみれば確認できる。
これの回避方法は色々あるが、嘘つきには残念だが教えられない。
ヒントを出すと、オリジナルの改変されていないコードを実行すれば目的は達成できると言っておこう。
結局のところプロテクトの知らないまたは検知することのできないコードで行えばいいのだ。

204 :デフォルトの名無しさん:2011/01/16(日) 18:30:55
でばどら!

205 :デフォルトの名無しさん:2011/01/16(日) 18:39:51
もしどら!?

206 :デフォルトの名無しさん:2011/01/16(日) 19:19:25
>>203
最近のはそんな原始的なフックしかけてないですよ^^;

207 :デフォルトの名無しさん:2011/01/16(日) 19:28:43
メモリのゼロ番地読み書きするにはどうすればいい?

208 :デフォルトの名無しさん:2011/01/16(日) 19:30:35
トランポリンみたいな幼稚な手法が通用するのは数年前までだね
今ではユーザーモードレベルのAPIフックなんてあってもなくても変わらないゴミみたいなものだし
>>203はShadow Walkerで検索してみるといいよ

209 :デフォルトの名無しさん:2011/01/16(日) 19:38:11
"Owner Window"(オーナーウィンドウ) にたいして
"owned Window" はどういう言葉がいいのかな?

210 :デフォルトの名無しさん:2011/01/16(日) 19:42:13
my window?

211 :デフォルトの名無しさん:2011/01/16(日) 19:43:55
"Labor Window"がぴったりだな

212 :デフォルトの名無しさん:2011/01/17(月) 00:06:14
被所有ウィンドウ
従属ウィンドウ
隷属ウィンドウ
奴隷ウィンドウ
被用者ウィンドウ
ドMウィンドウ
オーンドウィンドウ

213 :デフォルトの名無しさん:2011/01/18(火) 13:13:55
リソースではなく、既にメモリに展開されている.icoファイルからツールバーや.exeに使うアイコンを表示するにはどうすれば良いですか?

214 :デフォルトの名無しさん:2011/01/18(火) 14:08:48
あげ

215 :デフォルトの名無しさん:2011/01/18(火) 18:27:40
Win32APIの入門でオススメサイトあったら教えてください
猫さんのところはわからないまま進む感じであまりいい勉強になりませんでした

216 :デフォルトの名無しさん:2011/01/18(火) 18:40:41
>>213
LookupIconIdFromDirectoryEx
CreateIconFromResource(Ex)
関数名見ただけで脊髄反射すんなよ?

217 :デフォルトの名無しさん:2011/01/18(火) 19:06:16
>215
本買う金ないぐらい貧乏ならあきらめよう

218 :デフォルトの名無しさん:2011/01/18(火) 20:24:57
>>215
http://wisdom.sakura.ne.jp/system/winapi/win32/index.html

219 :デフォルトの名無しさん:2011/01/18(火) 20:28:16
>>218
俺もこのサイトを勧める

220 :デフォルトの名無しさん:2011/01/18(火) 20:43:47
猫はCの基礎が確り身に付いてないと躓くね

221 :デフォルトの名無しさん:2011/01/18(火) 20:52:28
>>218-219
ありがとうございますた(´・ω・`)b

222 :デフォルトの名無しさん:2011/01/18(火) 22:16:14
実行ファイルのアイコンってリソースから読み込まないと変えられない?

223 :デフォルトの名無しさん:2011/01/19(水) 00:29:06
えっ

224 :222:2011/01/19(水) 00:32:27
自己解決しました。
デバックじゃなくてリリースでビルドしないと変わらないのね

225 :デフォルトの名無しさん:2011/01/19(水) 02:15:58
えっ

226 :デフォルトの名無しさん:2011/01/19(水) 22:51:10
エクスプローラでは画像のサムネイルが表示されますよね。(「縮小版」表示の場合)

このサムネイルをプログラムから最新の情報に更新する方法を教えてください。
現在、画像ファイルを編集するプログラムを作っているのですが、
ファイルを更新しても、その画像のサムネイル画像が更新されないのです。

つまり、エクスプローラを右クリックで選択できる「縮小版を最新の情報に更新」
をプログラムから呼び出せる方法をご教示いただきたいのです。

227 :デフォルトの名無しさん:2011/01/19(水) 23:33:55
ソース読め
http://comvic.blogdns.com/modules/d3forum/index.php?topic_id=42

228 :デフォルトの名無しさん:2011/01/19(水) 23:34:46
>>226
Shellオブジェクト系で行けると思う

229 :226:2011/01/19(水) 23:45:16
>>227-228
ありがとうございました。
特に227氏さま。ソースいまから読んでみます

230 :デフォルトの名無しさん:2011/01/20(木) 02:58:01
sendkey F5

231 :226:2011/01/20(木) 06:50:40
>>230
ありがとうございます(>>226の回答と解釈しました)
でも、F5では縮小版は必ずしも更新されないです。

232 :デフォルトの名無しさん:2011/01/20(木) 07:49:08
エクスプローラのプロパティで
「縮小版の場合キャッシュしない」
のチェックを予め外しておくとかチェックしておくとか

233 :デフォルトの名無しさん:2011/01/20(木) 08:57:02
WindowsのAPIではハンガリアン記法で型を表してるんですよね?
でも構造体によって例えば

OPENFILENAME構造体
DWORD lStructSize;
DWORD nMaxCustFilter;
WORD nFileOffset;

MENUITEMINFO構造体
UINT wID;
ULONG_PTR dwItemData;
LPTSTR dwTypeData;

などとなっていて、この場合のnとかdwとかが何を表しているのか分かりません
どういう事でしょうか?

234 :デフォルトの名無しさん:2011/01/20(木) 08:58:45
n : number (int or long, etc.)
dw : DWORD

235 :デフォルトの名無しさん:2011/01/20(木) 14:01:05
DWORD lStructSize;
DWORD nMaxCustFilter;
こっちではDWORDなのにlとかnになってて
ULONG_PTR dwItemData;
LPTSTR dwTypeData;
こっちでは中の型も違うのにdwになってるのが疑問なんじゃない?

236 :デフォルトの名無しさん:2011/01/20(木) 14:21:57
そういう話をし出すと、歴史を語らなければいけなくなるんじゃないか

237 :デフォルトの名無しさん:2011/01/20(木) 14:24:54
システムハンガリアン記法は廃止されました

238 :デフォルトの名無しさん:2011/01/20(木) 17:33:11
WORD 1文字幅DWORD 2文字幅。
DWORDはLOWORDマクロで下位の1文字を、HIWORDマクロで上位の1文字を取り出せる。
今のところ32bit幅だが、いつ64bit幅や128bit幅になるかは秘密。

239 :デフォルトの名無しさん:2011/01/20(木) 17:36:28
>>238
>今のところ32bit幅だが、いつ64bit幅や128bit幅になるかは秘密。

コンパイルオプションで変わる

240 :デフォルトの名無しさん:2011/01/20(木) 17:39:21
1文字幅
適当だな

241 :デフォルトの名無しさん:2011/01/20(木) 19:41:43
>>239
LPVOID や LPARAM はともかく、DWORD が 32bit 以外ってなんか変なんだけど、あるんだ。

242 :デフォルトの名無しさん:2011/01/20(木) 20:11:17
もともとMicroshiftのマクロ定義な型名はWidowsのバージョンが変わってそのサイズが変化した後でも
コードの変更を最小限に抑えようとするためのものなのでWORD = 1文字幅^^は適当で正解。
WORDの中にはあらゆるWidowsにおいて1文字を格納するのに十分なサイズが割り当てられちゃう。びくんびくん。

243 :デフォルトの名無しさん:2011/01/20(木) 20:11:37
本義で言えば、最近のCPUではWORD=64bitなんじゃないのか

244 :デフォルトの名無しさん:2011/01/20(木) 20:15:56
>>243
そういう場を混乱させるだけの発言は控えようぜ

x86アセンブラで考えたら
CPUが何ビットになろうが
WORD = 16bit
DWORD = 32bit
QWORD = 64bit
PWORD? = 128bit

245 :デフォルトの名無しさん:2011/01/20(木) 21:33:00
>>243
そのとおり
VC6 で動いてた短いプログラムをソースそのままで
VC2008 でコンパイルしたらエラーも警告も出ないのに
動かなくなってた
time_t の長さが変わってたのが原因だった

246 :デフォルトの名無しさん:2011/01/20(木) 21:34:56
>>244
アセンブラではそうだろうが
C++っていうかWin32APIレベルだと違うよね

247 :デフォルトの名無しさん:2011/01/20(木) 21:42:03
>>246
Win64でもDWORD=32bitだぞ
DWORD_PTRっていう変態型がWin32だと32bit、Win64だと64bitになる

248 :デフォルトの名無しさん:2011/01/20(木) 21:44:03
いやWORDが32bitだからさ

249 :デフォルトの名無しさん:2011/01/20(木) 21:50:28
>>248
WORDってunsigned shortのtypedefだろ?
shortのビット数が32とか・・俺釣られてんのかな

250 :デフォルトの名無しさん:2011/01/20(木) 22:04:30
なんか紛らわしいことになってるけど、正解は >>244だからな。みんな。
C言語からしかかじってない奴はとんでもないこと言い出すな。

251 :デフォルトの名無しさん:2011/01/20(木) 22:25:23
DWORDのDはDoubleのD
WindowsのSDKは古い歴史を引き摺り過ぎてる
>>236 >>242

252 :デフォルトの名無しさん:2011/01/20(木) 22:27:19
http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx
MSDNも引かずに憶測だけで話す奴とか何
>>242
BITMAPFILEHEADERもWidowsのバージョンによって変わるんですかあなた天才ですね

253 :デフォルトの名無しさん:2011/01/20(木) 22:29:21
しかしwordとletterを間違えるとか釣りにしても恥ずかしいな

254 :デフォルトの名無しさん:2011/01/20(木) 22:57:09
人生って難しいね・3・

255 :デフォルトの名無しさん:2011/01/20(木) 23:08:07
>>245
time_tの元の型を調べろよBOY

256 :デフォルトの名無しさん:2011/01/20(木) 23:09:16
いやいや、変わらないとは断定できないぞ。
VC6のころはWNDPROC型は32bit Unsigned Integerだったが今は普通に関数ポインタだ。

257 :デフォルトの名無しさん:2011/01/20(木) 23:10:34
>>256
誰に対してのレス?

258 :デフォルトの名無しさん:2011/01/20(木) 23:59:22
WIN32API C++で、prinff("%d",x)のように変数xを出力したい場合はどうすればいいんだろうか?
幼稚な質問で申し訳ないんだけど、検索の仕方が悪いのか全くヒットしないんだ…


259 :デフォルトの名無しさん:2011/01/21(金) 00:03:40
検索の仕方が悪いのではない。
プログラミングは日本語の使い方を覚えてからにしよう。何をしたいのかさっぱりわからん。

260 :デフォルトの名無しさん:2011/01/21(金) 00:04:38
メッセージボックスの表示編集辺りを見れば分かるんじゃない?

261 :デフォルトの名無しさん:2011/01/21(金) 00:06:05
もしかしてウインドウを作ってるのにコンソールに出力しようとしてる?

262 :デフォルトの名無しさん:2011/01/21(金) 00:11:48
>>258
どこに出力したいの?

263 :デフォルトの名無しさん:2011/01/21(金) 00:18:58
ケツの穴に出力しようと思っています。

264 :デフォルトの名無しさん:2011/01/21(金) 00:20:58
出力したいのはウィンドウの方。
TextOut( hdc , 0 , 0 , TEXT("HelloWorld!!") , lstrlen(lpszStr) );
とすれば画面に文字が出るはずだけど、表示するのを文字ではなく変数にしたい。

265 :デフォルトの名無しさん:2011/01/21(金) 00:26:03
char c[100];
sprintf( c, "%d", x );
TextOut( hdc , 0 , 0 , TEXT( c ) , lstrlen( c ) );

266 :デフォルトの名無しさん:2011/01/21(金) 00:31:42
>>265
TCHARと_stprintf_sを使った方がいい

267 :デフォルトの名無しさん:2011/01/21(金) 00:32:55
>>264
http://msdn.microsoft.com/ja-jp/library/cc364872.aspx

268 :デフォルトの名無しさん:2011/01/21(金) 00:41:35
>>258
printfはxを指定された書式で整形して出力してるわけなので、
自分で整形した文字列をTextOutに渡したい。
と、考えを変えてみることが必要かも。

269 :デフォルトの名無しさん:2011/01/21(金) 00:42:30
>>265-267
wsprintfでいけた。ありがとう。

270 :デフォルトの名無しさん:2011/01/21(金) 00:46:46
更新忘れてた。
>>268
なるほど。内部的にどういうことが行われているかもしっかり理解しないとなあ…

271 :デフォルトの名無しさん:2011/01/21(金) 02:21:46
>>269
wsprintfはobsoleteだろ
>>266 が正解

272 :デフォルトの名無しさん:2011/01/21(金) 14:03:00
このニュース思い出した
Windowsの歴史とか互換性とか
ttp://itpro.nikkeibp.co.jp/article/OPINION/20060427/236520/

273 :デフォルトの名無しさん:2011/01/21(金) 14:31:45
>>266
ランタイム関数のときはWin32APIのTCHAR,TEXT()ではなく_TCHAR,__T()を使うべき
APIの TCHAR は UNICODE マクロで WCHAR と char に切り替わり
CRTの _TCHAR は _UNICODE マクロで whcar_t と char に切り替わる
WCHAR はWindows2000以降はUTF-16でおそらく今後も固定だが
wchar_tが16bit可変長なのは本来規格違反なので明確に区別するよう意識した方がいい

274 :デフォルトの名無しさん:2011/01/21(金) 15:13:32
stackに詰まれるときとかレジスタ上では32bitになってね

275 :デフォルトの名無しさん:2011/01/21(金) 18:33:19
規格と実装の区別が付いてない人がいると聞いて

276 :デフォルトの名無しさん:2011/01/21(金) 19:04:44
TCHARと_TCAHRはどっちが正しいのですか?


277 :デフォルトの名無しさん:2011/01/21(金) 19:06:44
_TCAHRは存在しません
よってTCHARです

278 :デフォルトの名無しさん:2011/01/21(金) 19:30:25
なんか__Tとか使うとソースがきたなくなっちゃう

279 :デフォルトの名無しさん:2011/01/21(金) 19:36:30
>>278
分かる
使いたくない

280 :デフォルトの名無しさん:2011/01/21(金) 19:38:08
TEXTがいいの?

281 :デフォルトの名無しさん:2011/01/21(金) 19:49:28
とりあえずWCHAR型についてMSDNを検索したら

>The content that you tried to view is permanently removed from the website. To continue, click the following links.

と出た。

282 :デフォルトの名無しさん:2011/01/21(金) 19:54:16
>>280
好きな方でいいよ
UNICODEを定義する時は_UNICODEも定義するので同じ

283 :デフォルトの名無しさん:2011/01/21(金) 19:57:59
L"うにこーど"

みたいに

T"どっちでも"

なら楽なんだが

284 :デフォルトの名無しさん:2011/01/21(金) 20:05:02
そもそも9xな窓滅びたからACHAR使う必要ないだろっていう

285 :デフォルトの名無しさん:2011/01/21(金) 20:28:54
勝手に滅ぼすな

286 :デフォルトの名無しさん:2011/01/21(金) 20:33:40
はやく滅んでほしい

287 :デフォルトの名無しさん:2011/01/21(金) 20:36:00
いっぱいいっぱいでました

288 :デフォルトの名無しさん:2011/01/21(金) 20:38:43
>>279
VC++を捨ててQt4に引っ越す

289 :デフォルトの名無しさん:2011/01/22(土) 04:11:13
Qt4がW32引き受けてくれるのか?
なら、安心だな

290 :デフォルトの名無しさん:2011/01/22(土) 10:15:03
鈍くて不細工というイメージ

291 :デフォルトの名無しさん:2011/01/25(火) 16:35:37

MFCのAfxBeginThread()で少し質問なのですが
以下の用に、処理スレッド(Func())を作成した場合、
WaitForSingleObject()で待機、Func()が終了すると先に進むだと正常に動くのですが、
WaitForSingleObject()が呼ばれる前に、Func()スレッドが終了し、その後にWaitForSingleObject()が
呼ばれた場合、WaitForSingleObject()でフリーズする場合がたまに発生します。

WaitForSingleObjectが呼ばれる前にFunc()スレッドが終了してはダメなのでしょうか?


CWinThread* pThr = AfxBeginThread(Func,NULL);

少し時間のかかる処理

WaitForSingleObject(pThr->m_hThread,INFINITE);



292 :デフォルトの名無しさん:2011/01/25(火) 16:43:32
よく読め。答えが書いてるぞ。
http://msdn.microsoft.com/ja-jp/library/48xz4yz9(v=VS.80).aspx

293 :デフォルトの名無しさん:2011/01/25(火) 16:49:49
CWinThread* pThr = AfxBeginThread(Func,NULL,0,CREATE_SUSPENDED);
pThr->m_bAutoDelete = FALSE;
pThr->ResumeThread();

少し時間のかかる処理

WaitForSingleObject(pThr->m_hThread,INFINITE);
delete pThr;

294 :デフォルトの名無しさん:2011/01/25(火) 16:59:44
>> 292, 293
ありがとうございます。 
だいぶ昔に同じところでハマったことを思い出しました・・・
修正します

295 :デフォルトの名無しさん:2011/01/26(水) 00:58:44
定期あげ

296 :デフォルトの名無しさん:2011/01/26(水) 00:59:38
 

297 :デフォルトの名無しさん:2011/01/26(水) 05:33:39
CreateMyMaidCafe() API が呼び出せません。
どうしたらいいですか?

298 :デフォルトの名無しさん:2011/01/26(水) 05:48:00
死ねばいいと思うよ

299 :デフォルトの名無しさん:2011/01/26(水) 08:37:36
CommonControlSex() って誰とセックスできるんですか?

300 :デフォルトの名無しさん:2011/01/26(水) 10:52:08
CommonControlSex(GetGirlFriend()); //INVALID_HANDLE_VALUE

301 :デフォルトの名無しさん:2011/01/26(水) 10:56:57
GetGirlFriend 関数は互換性のために残されています。
新しいアプリケーションでは GetGirlFriendEx(DWORD dwMoney) を使用してください。

302 :デフォルトの名無しさん:2011/01/26(水) 11:58:50
たこ焼きにイカ入れてみたんだが
なんというか味が薄かった

303 :デフォルトの名無しさん:2011/01/26(水) 12:40:57
ソースを変えてみればいいと思うよ

304 :デフォルトの名無しさん:2011/01/26(水) 13:06:56
たこ焼きが侵略されたでゲソ

305 :デフォルトの名無しさん:2011/01/26(水) 15:24:51
塩辛にすればいいと…何州レダ個々は。

306 :デフォルトの名無しさん:2011/01/26(水) 21:55:25
She never eats NONI.

307 :デフォルトの名無しさん:2011/01/27(木) 19:23:45
すれ違いだったらすいません。

wmplayer.exe で mp3 を再生し、ollydbg により、
waveOut系のAPIにブレークポイントを仕掛けました。

目的は waveOutWrite で、予想としては、再生するとちょくちょく
ヒットするはずなんですが、一度もヒットしません。

他の waveOut系APIでは、一部ひっかかるものがあります。

なぜ waveOutWrite でヒットしないんでしょうか?

308 :デフォルトの名無しさん:2011/01/27(木) 19:34:31
DirectShowで再生してるんじゃないの

309 :デフォルトの名無しさん:2011/01/27(木) 19:40:46
>>308
DirectSound だとしても waveOutWrite をコールしてくると
思ったんですが、違うんでしょうか?

310 :デフォルトの名無しさん:2011/01/27(木) 19:48:16
はぁ?

311 :デフォルトの名無しさん:2011/01/27(木) 19:50:57
いい図があった
http://msdn.microsoft.com/en-us/library/ff538856%28v=vs.85%29.aspx

312 :307:2011/01/27(木) 19:52:26
モジュール DSOUND から、DeviceIOControl がコールされまくってました。
ローレベルで制御してるようです。

一部のwaveOut系関数でヒットしてたので、勘違いしてました。
失礼しました。

313 :307:2011/01/27(木) 19:57:03
>>311
ありがとうございます。

まさにこの下の図の、カーネルモードに入る直前の部分あたりに、
waveOutWrite が使われてると思いこんでました。

314 :デフォルトの名無しさん:2011/01/27(木) 20:20:14
いや…うん、まあいいや

315 :デフォルトの名無しさん:2011/01/27(木) 23:15:35
おまえらならDirectSoundとwave系のどちらを使うよ

316 :デフォルトの名無しさん:2011/01/28(金) 00:11:15
WAS一択だろ馬鹿

317 :デフォルトの名無しさん:2011/01/28(金) 15:17:57
DirectSoundは廃止予定

318 :デフォルトの名無しさん:2011/01/28(金) 19:26:10
LoadLibraryの戻り値が、メインPCではNULL以外で成功するのですが、サブPCではNULLになってしまいます
・指定したファイルはexeと同じフォルダ(かつカレントフォルダ)にある
・そのDLLが依存しているDLL(dependencywalkerで調べたDLL)はちゃんとc:\windows\system32にある
という条件を両方のPCで満たしてる場合に、戻り値がNULLになる原因は他に何があるでしょうか?
両PCともWindowsXP SP3で
メインPC:C2Q Q9550 メモリ1GB
サブPC:AthlonXP 1400+ メモリ1GB

そのDLLの中でDirectXの関数を使用しているのですが、それが原因で
LoadLibraryの段階で失敗するということがあったりするのでしょうか?

319 :318:2011/01/28(金) 19:32:01
すみません、書き忘れましたがメインPCで開発してまして
VisualC++ 2008 Expressを使っています
DirectX SDKはOctober 2004です

320 :デフォルトの名無しさん:2011/01/28(金) 19:38:36
よくわからないけど GetLastError() でも呼べばいいんじゃないの?

321 :デフォルトの名無しさん:2011/01/28(金) 20:04:54
>>320
LoadLibraryの直前にSetLastError(NO_ERROR)してからGetLastErrorした所、
-1073741795 (0xc000001d)という値が返ってきました、検索してみたら
External Error: C000001D
Occurs if you execute MMX instructions on a non-MMX Pentium
ということでした、DLLを/archオプションなしでビルドしなおしてみようと思います
ありがとうございました。

322 :318:2011/01/28(金) 20:18:14
すみません、/archオプションは最初から付いていませんでした…
/archオプションがオフでも何かCPUに固有の命令が使われてしまっているのでしょうか?

323 :デフォルトの名無しさん:2011/01/28(金) 21:21:20
エスパー回答するとSSE2対応してないんだろ

324 :デフォルトの名無しさん:2011/01/28(金) 22:59:08
MMXが付いてないCPU・・・?
どんな化石なんだよw

325 :デフォルトの名無しさん:2011/01/28(金) 22:59:57
あ〜そういえば強制的にMMX命令が使われてしまうバグがVCにあったような気がする

326 :デフォルトの名無しさん:2011/01/29(土) 09:58:25
RegisterHotKeyについて質問です
MSDNを見ると、下記のような説明があります

BOOL RegisterHotKey(
HWND hWnd, // ウィンドウのハンドル
int id, // ホットキーの識別子
UINT fsModifiers, // キー修飾子フラグ
UINT vk // 仮想キーコード
);

修飾子フラグは複数指定できるのですが、仮想キーコードを複数指定することはできないのでしょうか


327 :デフォルトの名無しさん:2011/01/29(土) 10:03:50
win+F+Dとかやりたいってこと?

328 :デフォルトの名無しさん:2011/01/29(土) 10:10:39
そういうことです

329 :デフォルトの名無しさん:2011/01/29(土) 10:26:06
FとDどっちも登録しといて押されたときにもう一方が押されてるか見ればいいんじゃないかな

330 :デフォルトの名無しさん:2011/01/29(土) 11:01:28
諮問です。
NTFSフォーマットされた1つのHDDから
GetFileInformationByHandleでファイルの情報を取得すると、nFileIndexHighとnFileIndexLowが同一なファイルがあるのですが、
ファイルIDはファイルでユニークにはならいのでしょうか?

331 :デフォルトの名無しさん:2011/01/29(土) 11:14:40
「不景気だし国の財政も赤字だから公務員の給与を下げるべき」

「それなら景気が向上したり、財政黒字が達成されれば公務員の給与は上がるの?
バブルの時は好景気だったけど、公務員の給与には反映されなかったよね。」

「公務員ならつべこべ言わずに不利益を享受せよ!」

「それなり日本国民であるあなたも労基法の緩和や増税等にも応じるべきでは?」

「黙れ!」

愚民なんてこんなもんだよ。

332 :デフォルトの名無しさん:2011/01/29(土) 12:46:33
>>330
ファイルとファイル名は1:1で対応してるとは限らない
ハードリンクのように1つのファイルに複数の名前をつけられる

333 :デフォルトの名無しさん:2011/01/29(土) 14:30:11
>>332
ありがとうございます

334 :デフォルトの名無しさん:2011/01/29(土) 19:10:55
hdc = GetDC(hwnd);
hMemDC = CreateCompatibleDC(hdc);
hBitmap = CreateCompatibleBitmap(hdc, WIDTH, HEIGHT);
SelectObject(hMemDC, hBitmap);
DeleteObject(hBitmap);
ReleaseDC(hwnd, hdc);

メモリデバイスを作成する手順はこれで合っていますか?

335 :デフォルトの名無しさん:2011/01/29(土) 19:12:51
あってない

336 :334:2011/01/29(土) 19:31:53
やはり hBitmap を解放するタイミングがおかしいのでしょうか?

337 :デフォルトの名無しさん:2011/01/29(土) 21:29:51
SelectしたままDeleteはできないので
Deleteする前にSelect解除しなきゃだめ

338 :デフォルトの名無しさん:2011/01/29(土) 21:31:30
まずメモリデバイスとは何なのか俺にはわからん

339 :デフォルトの名無しさん:2011/01/29(土) 21:33:22
>>337
なるほど、勉強になりました。
ありがとうございました

340 :デフォルトの名無しさん:2011/01/29(土) 21:37:55
>>338
CreateCompatibleDCが返すメモリデバイスコンテキストのことを変に省略したものと思われ

341 :デフォルトの名無しさん:2011/01/29(土) 21:54:48
>>331
>「それなら景気が向上したり、財政黒字が達成されれば公務員の給与は上がるの?
>バブルの時は好景気だったけど、公務員の給与には反映されなかったよね。」

反映されてただろ

342 :デフォルトの名無しさん:2011/01/29(土) 21:55:54
>>334
DeleteObject(hBitmap);
が成功するんだけど、何故?

343 :デフォルトの名無しさん:2011/01/29(土) 22:04:44
>>342
DCにSelectObjectした時点で
メモリにビットマップがコピーされてるから
HBITMAPは煮るなり焼くなり好きにしてもよい。

344 :デフォルトの名無しさん:2011/01/29(土) 22:13:57
>>342
タスクマネージャのGDIオブジェクトを見ながらステップ実行してみるといい。
SelectObjectで元に戻さないとDeleteObjectしてもオブジェクトは削除されない。

DeleteDCした時点でまとめて削除される「実装」にはなっているようだが、
「仕様」では元に戻せと書かれてる以上、パッチで変更されても文句は言えない。

345 :デフォルトの名無しさん:2011/01/29(土) 22:28:34
>>344
本当だ、削除されてなかった。
何故DeleteObject関数はTRUEを返すのだろうか…?

346 :デフォルトの名無しさん:2011/01/29(土) 22:32:52
適当なこと教えんだよ。おい。

>>345
削除してもいいからだよ。
http://msdn.microsoft.com/ja-jp/library/cc428362.aspx
デバイスコンテキストで選択されている描画オブジェクト(ペンまたはブラシ)は削除しないでください。

どこにビットマップが載ってる?

347 :デフォルトの名無しさん:2011/01/29(土) 22:36:08
>>346
GDIオブジェクトを確認しながらステップ実行したら、
選択したままだと削除されなくて、元に戻してからだと削除されたぞ

348 :デフォルトの名無しさん:2011/01/29(土) 22:37:49
>>347
ただ単に
GDIオブジェクトの数と
ビットマップの内部的な管理は別もんなんだろ。

SelectObjectした後でビットマップをDeleteしてもそのまま動くように作ってあんだよ。

349 :デフォルトの名無しさん:2011/01/29(土) 22:38:10
>>346
ばーかばーか

ttp://msdn.microsoft.com/en-us/library/dd162957%28v=vs.85%29.aspx
> An application should always replace a new object with the original,
> default object after it has finished drawing with the new object.


350 :デフォルトの名無しさん:2011/01/29(土) 22:40:46
>>349
Objectにビットマップは入ってねえんだろ。
BITMAPの説明にメモリDCにだけおっけー☆って書いてあるし

351 :デフォルトの名無しさん:2011/01/29(土) 22:43:17
http://msdn.microsoft.com/en-us/library/aa923962.aspx
DeleteObject

Do not delete a drawing object (pen or brush) while it is still selected into a device context.

どこにもビットマップは書いてない。

352 :デフォルトの名無しさん:2011/01/29(土) 22:43:44
ガベコレを自分で実装するスレはここですか.

353 :デフォルトの名無しさん:2011/01/29(土) 22:47:47
>>348
選択された状態のビットマップをDeleteしても動くのは、実際は削除されてないからだろ
疑問点は、削除されてないのに何故TRUEを返すのかということだ

354 :デフォルトの名無しさん:2011/01/29(土) 22:48:47
>>353
ハンドルは無効にしたけど
実体は残ってるよってこったろ

355 :デフォルトの名無しさん:2011/01/29(土) 22:52:35
>>353
削除されなかったときはTRUEを返してはいけないのか?

356 :デフォルトの名無しさん:2011/01/29(土) 22:54:08
>>354
じゃあ、選択を解除したビットマップならば、実体も消してくれるってこと?

357 :デフォルトの名無しさん:2011/01/29(土) 22:54:29
Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context.

DeleteObject「アタシ、あくまでコダワリはハンドルだけでぇ、実体はキョーミないの」

358 :デフォルトの名無しさん:2011/01/29(土) 22:55:42
C++なら新人に多重deleteされないようにdeleteし終わったらNULL入れておくかな。
C++はNULLのdeleteは「何もしない」のが仕様として決まっているから。
無条件deleteでも問題ない話になる。

359 :デフォルトの名無しさん:2011/01/29(土) 22:56:38
>>358
スマートポインタ、最低でも auto_ptr で自分で delete 書かないほうがいいだろ。
確実だし、デストラクタでヌル詰めるとか無駄だし。

360 :デフォルトの名無しさん:2011/01/29(土) 22:58:36
どこででもSTLが使えると思ってるのはゆとり

361 :デフォルトの名無しさん:2011/01/29(土) 23:00:55
>>358
本質的な問題を隠してるだけじゃないのかそれは

362 :デフォルトの名無しさん:2011/01/29(土) 23:01:27
どうでもいいけど、C++ではNULLってなくね
0 が正解では。

363 :デフォルトの名無しさん:2011/01/29(土) 23:02:12
ポインタにNULLを入れて何回でもdeleteしてやる

364 :デフォルトの名無しさん:2011/01/29(土) 23:08:53
for(i=0; i<INT_MAX; i++){
myLife = NULL;
delete myLife;
}

365 :デフォルトの名無しさん:2011/01/29(土) 23:11:30
>>359>>361に同意。まずRAIIを徹底する。そしてスマポを使う。
deleteが無意味に何回も呼ばれるようなカスコードはそもそもぶっ殺す。

366 :デフォルトの名無しさん:2011/01/29(土) 23:56:50
ああいうのが無能な後輩に育てていくんだろうな
それでいて自分のせいだと気付かずに文句を言う

367 :デフォルトの名無しさん:2011/01/30(日) 00:45:18
exitの前にfreeするか的なあれ

368 :デフォルトの名無しさん:2011/01/30(日) 01:05:36
>>360
それをWin32APIスレで語っちゃうのはメクラ


369 :デフォルトの名無しさん:2011/01/30(日) 01:21:02
>>367
DLL経由でmallocされてたものはfreeせずにexitしちゃだめだろ

370 :デフォルトの名無しさん:2011/01/30(日) 01:54:05
win16なう

371 :デフォルトの名無しさん:2011/01/30(日) 18:34:40
>>334
--- 使用前 ---
hdc = GetDC(hwnd);
hMemDC = CreateCompatibleDC(hdc);
hBitmap = CreateCompatibleBitmap(hdc, WIDTH, HEIGHT);
hBitmapSave = SelectObject(hMemDC, hBitmap);
ReleaseDC(hwnd, hdc);

--- 使用 ---
hdc = BeginPaint(hwnd, &ps);
BitBlt(hdc, 0, 0, WIDTH, HEIGHT, hMemDC, 0, 0, SRCCOPY);
EndPaint(hwnd, &ps);

--- 使用後 ---
hBitmap = SelectObject(hMemDC, hBitmapSave);
DeleteObject(hBitmap);
DeleteObject(hMemDC);


372 :デフォルトの名無しさん:2011/01/30(日) 23:16:37
Win2KでPrintWindow相当のことがしたいのですがどうすればできますか?
やりたいことは別プロセスから他のウィンドウに隠れたウィンドウのキャプチャ。
キャプチャするウィンドウを前面にもってくるのは×。

373 :デフォルトの名無しさん:2011/01/30(日) 23:31:54
[PrtScr]

374 :デフォルトの名無しさん:2011/01/30(日) 23:41:08
>>372
http://social.msdn.microsoft.com/forums/en-US/winforms/thread/c410cdc7-5a4b-4c87-8c51-57e552f61067

375 :デフォルトの名無しさん:2011/01/31(月) 00:14:53
>>374
それただのデスクトップキャプチャじゃん

376 :デフォルトの名無しさん:2011/01/31(月) 00:23:24
>>375
つ PrintWindow相当のことがしたい

377 :デフォルトの名無しさん:2011/01/31(月) 01:01:20
PrintWindowを理解していない馬鹿 >>374

378 :デフォルトの名無しさん:2011/01/31(月) 01:16:32
反論あるなら答えを書けば?

379 :デフォルトの名無しさん:2011/01/31(月) 01:33:16
GetWindowDCして自前のメモリデバイスコンテキストにBitBltとか?
隠れた部分まで正しく得られるかは知らん

380 :デフォルトの名無しさん:2011/01/31(月) 01:37:25
>>379
PrintWindow相当ではない

381 :デフォルトの名無しさん:2011/01/31(月) 04:14:24
PrintWindowの挙動を解析してそのまま2k上で実装すればいいだけです

382 :デフォルトの名無しさん:2011/01/31(月) 04:25:21
>>381
っ どうすればできるか聞いている

383 :デフォルトの名無しさん:2011/01/31(月) 04:26:47
>>382
>>371

384 :デフォルトの名無しさん:2011/01/31(月) 09:55:09
WM_PRINTで自前のHDC渡したらダメかな

385 :デフォルトの名無しさん:2011/01/31(月) 10:22:25
メモリー空間違ったら書き込めないからWM_PRINTじゃ無理ですな。

386 :デフォルトの名無しさん:2011/01/31(月) 11:29:33
>>371
丁寧にありがとうございます。
しかし1つだけ分からない箇所があります。

--- 使用後 ---
hBitmap = SelectObject(hMemDC, hBitmapSave);

では、hBitmap が hMemDC に割り当てられていたビットマップハンドルを
受け取っているのだと思いますが、そうする理由を教えていただけないでしょうか?
hMemDC に別のビットマップを選択することがない限り、
この必要はないように思えるのですが。

387 :デフォルトの名無しさん:2011/01/31(月) 11:39:40
>>386
直後のDeleteObjectで使ってるじゃん

388 :デフォルトの名無しさん:2011/01/31(月) 15:39:21
Win32apiで現在のPCの起動状態がセーフモードか判断する方法は
あるのでしょうか?


389 :デフォルトの名無しさん:2011/01/31(月) 15:41:39
GetSystemMetrics
SM_CLEANBOOT

390 :デフォルトの名無しさん:2011/01/31(月) 17:37:50
>>387
あぁ、なるほど。
hBitmapがローカル変数の場合は、この代入が必要になるのですね。
自分がhBitmapをstatic変数で宣言していたので、疑問に思ってしまいました。

391 :デフォルトの名無しさん:2011/01/31(月) 18:19:47
「WM_APP+1」やRegisterWindowMessageで登録したメッセージなどをSendMessageで親ウィンドウに送り、
親ウィンドウがそのメッセージを独自に処理しなかった場合、
SendMessageの戻り値は不定なのでしょうか?それとも必ず0になる?

392 :デフォルトの名無しさん:2011/01/31(月) 18:30:19
ビットマップはSelectObjectした状態で削除してもいいのにね
SelectObjectした時点でDCコンパチブルに色変換されてコピーされちゃうからなんだけどね

こういうの馬鹿の壁って言うの?

393 :デフォルトの名無しさん:2011/01/31(月) 21:01:02
>>391
DefWindowProcは理解出来ないメッセージに対しては0を返す(たぶん)

394 :デフォルトの名無しさん:2011/01/31(月) 21:06:34
MSDNには
DefWindowProcの戻り値はメッセージ次第で
WM_APPの戻り値はNone(==NULLかな)とあるね


395 :デフォルトの名無しさん:2011/01/31(月) 22:36:58
>>390
この場合staticかどうかは関係ないと思うぞ

396 :デフォルトの名無しさん:2011/01/31(月) 22:38:39
>>394
None のときは NULL ですらないので注意

397 :デフォルトの名無しさん:2011/01/31(月) 23:41:39
>>392
Win9xではSelectObjectしたままDeleteObjectはできなかった。
いくら今のWindowsで動いているからと言っても、原則から外れた書き方はよくない。

398 :デフォルトの名無しさん:2011/02/01(火) 03:12:11
どうせ原則通りにやっても仕様変更で動かなくなることもあるんだから今動けばいいんだよ
9xで動いてたコードが動かなくなった例なんて腐るほどあるわけだし
つーか9xとNTではモノが全然違うんだから比較してもしょうがないでしょ

399 :デフォルトの名無しさん:2011/02/01(火) 03:13:38
漏れは >>397 に同意だが
いまさら 9x の心配をしても仕方ないとは思う

400 :デフォルトの名無しさん:2011/02/01(火) 09:00:45
>>393,394,396
どうもです。
0かNoneかは大きな違いかと思うのですが、
親にSendMessageした結果を戻り値で判断するのは危険ということになりますか?

親がそのメッセージを無視してDefWindowProcなどに渡ってしまっても
正しく動くようにしておきたのですが。

401 :388:2011/02/01(火) 09:38:56
>>389
ありがとうございますm(_ _)m

402 :デフォルトの名無しさん:2011/02/01(火) 09:56:26
WM_CREATE で return -1; とし、CreateWindow を失敗させると、
以後 MessageBox が出せなくなります
これは正常な挙動なのでしょうか
また回避策はないでしょうか

403 :デフォルトの名無しさん:2011/02/01(火) 09:59:46
ブラシやペンに限らずDCにSelectObjectされたGDIオブジェクトをDeleteObjectした時は0を返すのがWin32APIの仕様なのだが
動くから問題ないと主張する馬鹿の書いたプログラムでも問題なく動くようにWin32APIは必ずしも仕様通りに実装されていない


404 :デフォルトの名無しさん:2011/02/01(火) 10:29:09
DeleteObjectは成功しても、DeleteDCでエラーを返した記憶がある。
たしかビットマップ以外のオブジェクトだったが。

405 :400:2011/02/01(火) 10:58:12
すいません、追記です。
WM_SETCURSORなどのように、「このメッセージを内部で処理したらTRUEを返せ」
という流れにしたいと思っているのですが、
DefWindowProcに渡ってしまったらちゃんと0(FALSE)になる、
ということの確信が持てないと、この動きは実現できないですよね?


406 :デフォルトの名無しさん:2011/02/01(火) 12:55:53
>>403
仕様通りに実装されてないからこそ動くように書くのが正しい

407 :デフォルトの名無しさん:2011/02/01(火) 15:46:07
>>405
if( WM_APP<=msg && msg<WM_APP+xxx )
return 0;
else
return DefWindowProc(...);
とかじゃだめなん?

408 :400:2011/02/01(火) 17:50:30
>>407
それだと、無視する処理が親側に必須になってしまいますよね?

送ったメッセージを親が内部で処理しなかったために
DefWindowProcに渡ってしまったときにも、
子が「無視された」と判断したいんです。

409 :デフォルトの名無しさん:2011/02/01(火) 17:58:20
つーか親とか子とか自分用語で質問しても意味が分らん

410 :デフォルトの名無しさん:2011/02/01(火) 19:12:03
>>408
WM_APPで処理をDefWindowProcに渡すってことは
未実装なわけなんだから
送らなきゃいい話じゃないの?


411 :400:2011/02/01(火) 19:54:33
>>410
未実装かどうかは子ウィンドウ側はわからない状態です。
親ウィンドウに独自のメッセージを送り、
それを親ウィンドウが処理してくれたかを知りたいんです。

これってそんなに変な動作ですか?

412 :デフォルトの名無しさん:2011/02/01(火) 20:09:03
WM_APPとかRegisterWindowMessageとか使ってメッセージやり取りするときって
どんな動作してくれるかあらかじめ分かってるから使うんでしょ

413 :デフォルトの名無しさん:2011/02/01(火) 21:21:35
>>403
MSDNも見れない知恵遅れにはプログラムは難しすぎるからお前はぴゅー太でも使ってなさい

414 :デフォルトの名無しさん:2011/02/01(火) 21:47:42
>>411
同じような動作を作ろうとして疑問を持って調べたことがある。

ttp://www5d.biglobe.ne.jp/~noocyte/Programming/Windows/WindowsTips.html
ここの「ウインドウメッセージ」にも「0を返すらしい」と書いてあって、
同じようにテストルーチンを組んでみてもたしかに0が返ってくるので、
そういうものなんだと思って、戻り値が0かどうかで判断するようにした。

今のところ問題が発生したことはない。

415 :デフォルトの名無しさん:2011/02/01(火) 22:01:51
それはきっと別の実装を考えたほうがいい

416 :デフォルトの名無しさん:2011/02/02(水) 00:26:48
ウィンドウクラスへのカーソルの割り当てを状況によって切り替えることはできますか?

417 :デフォルトの名無しさん:2011/02/02(水) 00:37:38
SetClassLongPtr

418 :デフォルトの名無しさん:2011/02/02(水) 00:47:31
>>417
ありがとうございます!

419 :デフォルトの名無しさん:2011/02/02(水) 00:59:35
誰か教えて下さい。

DLLにリソースを追加したくて、BeginUpdateResource -> UpdateResource ->
EndUpdateResourceとやってエラーは発生しない。
EnumResourceNamesで確認するとUpdateResourceで追加したリソースも存在するように
見えるのですが、FindResourceで追加したリソースを検索するとNULLが返ります。

何か分かる方いませんか?

420 :デフォルトの名無しさん:2011/02/02(水) 01:02:04
バグったソースごとうp

421 :デフォルトの名無しさん:2011/02/02(水) 01:05:35
リソースタイプが間違ってるんだろう。

422 :デフォルトの名無しさん:2011/02/02(水) 01:18:32
バグった汚ソースは
http://xbb.jp/uchichi/test.cpp
です。
C:\log\img\
以下にある全ファイルをカレントにあるResourceDLLnew.dllに追加
するテストアプリです。


423 :デフォルトの名無しさん:2011/02/02(水) 03:23:26
顔が下にあるのが恥ずかしい

424 :419:2011/02/02(水) 12:01:14
わかった。
UpdateResourceでリソース名を指定する場合、大文字じゃないと
FindResourceで失敗するようだ。FindResourceは指定されたリソース名
を大文字に変換してから検索するらしい。

でもって、res: プロトコルで使用する場合、リソース名の先頭が
数値文字(e.g. 2011_02_01.GIF)の場合には、IEで表示できない。
リソース名の先頭が数値文字でもFindResourceは大丈夫みたいだ。

425 :デフォルトの名無しさん:2011/02/02(水) 13:12:45
いまどき独自メッセージ定義して親子通信しようなんてのがノンセンス
パイプとか共有メモリ使えよ

426 :デフォルトの名無しさん:2011/02/02(水) 14:05:08
の、ノンセンス…

427 :デフォルトの名無しさん:2011/02/02(水) 14:21:58
もしかして: ナンセンス

428 :デフォルトの名無しさん:2011/02/02(水) 14:24:25
いまさら、WinAPI頑張っても求人ないんだろうな・・

急に面白く感じ始めたんだけど・・

Qtといい、俺のシュミは金にならん。

429 :デフォルトの名無しさん:2011/02/02(水) 14:38:07
できる奴は勉強せんでもMSDNあれば事足りる
できない奴は.netやらされる

430 :デフォルトの名無しさん:2011/02/02(水) 14:49:04
しばらく触ってなかったら、WindowsSDKのヘッダがえらく変わってる気がする……
ヘッダいじらないとコンパイルが通らん。

431 :デフォルトの名無しさん:2011/02/02(水) 16:19:43
おまえのコードが可笑しいだけ

432 :デフォルトの名無しさん:2011/02/02(水) 23:58:17
>>428
まぁ無駄にはならないよ

433 :デフォルトの名無しさん:2011/02/03(木) 01:18:39
つまらない質問ですが、よろしいでしょうか?
mciSendCommandを使って音楽の再生を行っているのですが、
7/VISTAでは再生されないのですが、これは使用なのでしょうか?(自宅などのXPマシンなどでは動作します)

またmciSendStringで再生が終了したかの確認するにはnotifyで、プロシージャでの取得だけしかできないのでしょうか?
それあたりがよくわからないので、教えていただけないでしょうか?




434 :デフォルトの名無しさん:2011/02/03(木) 03:06:16
Unicode関係でOS側でバグがあるとか。

435 :デフォルトの名無しさん:2011/02/03(木) 09:20:43
XAudio2使えって書いてあった

436 :デフォルトの名無しさん:2011/02/03(木) 18:26:16
MCIってエラー情報取得できないっけ

437 :デフォルトの名無しさん:2011/02/03(木) 22:25:38
>>428
WinAPIのどこを頑張るんだ?
APIと構造体と#defineとtypedef全部覚えたら願いがかなう!とかキモイ感じ?

438 :デフォルトの名無しさん:2011/02/03(木) 22:58:35
winapiっていうかwindowsの知識のことかな

439 :デフォルトの名無しさん:2011/02/04(金) 00:38:55
全然別物だろ
MSDNとTechNetぐらい違う

440 :デフォルトの名無しさん:2011/02/04(金) 00:39:58
Advanced WindowsとInside Windowsくらい違うのか…

441 :デフォルトの名無しさん:2011/02/04(金) 01:02:45
ディレクトリXに001.jpg, 002.jpg, 003.jpg, と1万個のファイルがあるとして、
このときX/002.jpgを与えられた際、同一ディレクトリにあるそれ以外の任意の
1ファイルのパスをなるべく高速に取得する、ということがやりたいです。

思いついた方法としては
1. FindFirstFile,FindNextFileでディレクトリXに存在する1万ファイルを全て
把握して002.jpg以外のファイルを探す
2. DeviceIoControlでMFTを直読みしてX/002.jpgの次に存在するXディレクトリ
配下のファイルを探す

1は楽だけど時間がかかる。2は高速だけどドキュメントも少なく苦労も多い。
ということで、それ以外に「これを使った方が早い/楽」等、
何か使えそうなAPIがあれば教えてくれるとありがたいです。

442 :デフォルトの名無しさん:2011/02/04(金) 01:06:10
ごめん。ちょっと誤解を招く内容になってるので少し訂正。
「任意の1ファイルのパス」と書いてるけど、
「002.jpgの次にある任意の1ファイルのパス」
という意味です。

443 :デフォルトの名無しさん:2011/02/04(金) 01:28:51
規則性があるなら二分木で探せばいいし、なければ読み込むしかない。

444 :デフォルトの名無しさん:2011/02/04(金) 01:37:04
>002.jpgの次にある

kwsk

445 :デフォルトの名無しさん:2011/02/04(金) 01:38:45
次ってなんだよ。

446 :デフォルトの名無しさん:2011/02/04(金) 01:39:29
だから馬鹿なんだろ
ほっとけよ

447 :デフォルトの名無しさん:2011/02/04(金) 01:41:25
1フォルダ内に1万ファイルか
そこから見直すべきじゃね?

448 :デフォルトの名無しさん:2011/02/04(金) 01:46:55
>>443,444
早速の返答ありがとう。
「次のファイル」というのは「MFT上の指定されたレコード(例でいうとX/002.jpg)
の次以降に存在する最初の同一ディレクトリ(例でいうとディレクトリX)に属する
ファイル」という意味です。
ファイルシステムはNTFS決め打ちで考えてもらって問題ありません。


449 :デフォルトの名無しさん:2011/02/04(金) 02:39:20
>ドキュメントも少なく苦労も多い
NTFSが出てから何年経ってると思ってんの?
ドキュメントは腐るほどあるしライブラリだってあるし
もしかして日本語じゃないと読めないとか言い出しちゃう人?
少しはググれよ

450 :デフォルトの名無しさん:2011/02/04(金) 03:08:54
2000だから1999年ごろだろ

451 :デフォルトの名無しさん:2011/02/04(金) 04:45:49
>>449
いや、別に英語読むのはかまわんのだけど、
もっと便利なAPIがあるなら、わざわざそこまで低レベルな
ことやるのも馬鹿らしいし、なにかその辺知っていたら教えて欲しい、
という意味です。
自分がググった範囲じゃ見つけられなかったので、
もし知っていたらお願いします。



452 :デフォルトの名無しさん:2011/02/04(金) 06:44:49
それは良い心がけですね

453 :デフォルトの名無しさん:2011/02/04(金) 07:35:23
FindNextFileってMFT的に”次”のファイルが取れるって保証あったっけ?

454 :デフォルトの名無しさん:2011/02/04(金) 08:33:57
例えば、10.jpgの次が20.jpgであるディレクトリに11.jpgを追加すると、
10.jpgの次が20.jpgであることはNTFSでは保証されているのか?
保証されていないならば、*次のファイル*に意味があるとは思えない。

455 :デフォルトの名無しさん:2011/02/04(金) 10:23:44
>>450

456 :デフォルトの名無しさん:2011/02/04(金) 10:25:55
そのファイルのサイズが小さい場合ディレクトリエントリに格納されているかもしれない

457 :デフォルトの名無しさん:2011/02/04(金) 10:42:25
ファイル名に連番とかの規則性があるわけではなくて、とにかく次にあるファイルっていうこと?
規則性があるのならプログラムで目的のファイル名を生成してピンポイントでFindFirstFileでいいんじゃない?
規則性がなくて単純に全ファイル名をソートした中の次という意味ならB+Tree検索
ソートもせず、ファイルシステム上の次レコードという意味なら適当なファイルをランダムに開くのと同じ
(一応NTFSはファイル名をソートして記録することにはなっている)

458 :デフォルトの名無しさん:2011/02/04(金) 12:25:52
何に使うのかは知らないが、もし俺がアプリケーション内でそれを実装しようとするなら、
アプリケーション起動時に全部呼んで、必要なキーでマップなりなんなりのデータベース作る。
キーは例えば先頭クラスタ番号とか。
以降に書き換えが発生するなら、フォルダ監視で。

459 :デフォルトの名無しさん:2011/02/04(金) 15:48:48
NTFSAのファイルエントリがB木で格納されていると知っていればくだらない疑問はわいてこないはずだが

460 :デフォルトの名無しさん:2011/02/04(金) 19:24:14
特定の文字列(例えば"OPEN")を入力したらMessageBoxを出す
ウィンドウレスアプリケーションを作りたいのですが、
GetAsyncKeyState関数だけで出来そうですか?

461 :デフォルトの名無しさん:2011/02/04(金) 19:29:35
ウィンドウなしでどこに入力するんだ?

462 :441:2011/02/04(金) 20:00:40
皆さんどうもありがとう。
結論としては、MFT上の「特定のレコードの次」を取得するためのAPIは
(すくなくとも一般に知られる範囲では)存在しない、
あえてやろうとしたらMFTを直接読むしかない(APIはDeviceIoControl)。
それ以外ではFileFirstFind, Nextで最初にそのディレクトリ配下のファイルを
把握して、その中で「次」を取得するしかない、ということで理解しました。


463 :デフォルトの名無しさん:2011/02/04(金) 20:08:02
>>461
デスクトップウィンドウを考えています

464 :デフォルトの名無しさん:2011/02/04(金) 20:11:32
>>463
デスクトップにメッセージフックやればいいよ

465 :デフォルトの名無しさん:2011/02/04(金) 20:46:53
>>464
ありがとうございます

466 :デフォルトの名無しさん:2011/02/04(金) 21:26:49
ちょっとマイナーな?API調べようとしても英語サイトしかでてこないね
日本人は何をしてるんだ

467 :デフォルトの名無しさん:2011/02/04(金) 21:57:43
英語で十分です

468 :デフォルトの名無しさん:2011/02/04(金) 22:08:05
今時小学生でも英語読めるよ

469 :デフォルトの名無しさん:2011/02/05(土) 13:18:38
>>466
英辞朗インスコして、一文字一文字マウスカーソルを乗せながら、呼んでいくんだ!

470 :デフォルトの名無しさん:2011/02/05(土) 16:35:04
翻訳したら金くれるってのならやってもいい

471 :デフォルトの名無しさん:2011/02/05(土) 17:09:21
いいからAPI出せや

472 :デフォルトの名無しさん:2011/02/06(日) 02:21:42
>>471
ほれ

RaiseNullPointerException()

473 :デフォルトの名無しさん:2011/02/06(日) 03:14:08
ガッ

474 :デフォルトの名無しさん:2011/02/06(日) 13:12:29
ショートカットファイルから情報を取り出したいんだけどどうにもうまくいかなくて困ってる。
WSHを試したら新しいのは作れたけど既存のから取り出せなかった。
助けてー

on VC++2008 EE, C++/CLI、フォームアプリ

475 :デフォルトの名無しさん:2011/02/06(日) 13:58:29
IShellLink

476 :デフォルトの名無しさん:2011/02/06(日) 14:17:34
>>475
それも試したんだけど、
IID_IPersistFile
CLSID_ShellLink
IID_IShellLink
のリンクが通せなくて挫折したorz
C++/CLIでやったから、らしいんだけど、純Win32APIとリンク設定の違いが分からなくて。

477 :デフォルトの名無しさん:2011/02/06(日) 14:31:21
CoInitializeしてないとか

478 :デフォルトの名無しさん:2011/02/06(日) 14:33:36
してる。してなくてもリンクが通らないこととは関係ないよね?

479 :デフォルトの名無しさん:2011/02/06(日) 14:35:28
リンクが通らないってなんのことだ?
リンカのことか?それともコンパイルが通らないってことか?
#include <shlobj.h>書いてないとかそういう話か?

480 :デフォルトの名無しさん:2011/02/06(日) 14:43:43
当然リンカ。
インクルード書かなきゃコンパイルも通らない。

481 :デフォルトの名無しさん:2011/02/06(日) 14:45:50
エラーここに張ってみてよ

482 :デフォルトの名無しさん:2011/02/06(日) 14:46:26
initguid

483 :デフォルトの名無しさん:2011/02/06(日) 14:50:20
1>リンクしています...
1>hoge.obj : error LNK2020: 未解決のトークン (0A000012) IID_IPersistFile
1>hoge.obj : error LNK2020: 未解決のトークン (0A000014) CLSID_ShellLink
1>hoge.obj : error LNK2020: 未解決のトークン (0A000015) IID_IShellLinkW
1>hoge.obj : error LNK2001: 外部シンボル "IID_IPersistFile" は未解決です。
1>hoge.obj : error LNK2001: 外部シンボル "IID_IShellLinkW" は未解決です。
1>hoge.obj : error LNK2001: 外部シンボル "CLSID_ShellLink" は未解決です。
1>C:\Documents and Settings\hoge\My Documents\Visual Studio 2008\Projects\hoge\Debug\hoge.exe : fatal error LNK1120: 外部参照 6 が未解決です。

484 :デフォルトの名無しさん:2011/02/06(日) 14:52:23
ちゃんとCoCreateInstanceで作ってるよね?

485 :デフォルトの名無しさん:2011/02/06(日) 14:55:17
ビルドもできない馬鹿はスレ違いだから死ね

486 :デフォルトの名無しさん:2011/02/06(日) 15:07:48
そうだ、
http://www.kab-studio.biz/Programing/Codian/ShellExtension/09.html
これを参考にしてみた。

>>484
うん。その関数の引数として483のを使ってるね。
でもそれはリンクとは関係ないでしょ?

http://www13.plala.or.jp/kmaeda/winc/shortcut.htm
これを貼り付けただけなら出来たんだけど、CLIに応用が効かないんだ

487 :デフォルトの名無しさん:2011/02/06(日) 15:35:13
ソースを見ないとわからないが、
::IID_IPersistFile
::CLSID_ShellLink
::IID_IShellLink
ってグローバル名前空間にしないとだめなんじゃね?

488 :デフォルトの名無しさん:2011/02/06(日) 16:09:49
>>487試したけどさすがに駄目だった
#pragma once
#include <shlobj.h>

namespace hoge {

using namespace System;//一部略
System::ComponentModel;System::Collections;System::Windows::Forms;System::Data;System::Drawing;

public ref class Form1 : public System::Windows::Forms::Form {
public:
Form1(void) { InitializeComponent(); this->GetShortCutFile(); }
protected:~Form1(){//省略}
private:System::ComponentModel::Container ^components;
void InitializeComponent(void){//省略}

IShellLink *m_pShellLink; IPersistFile *m_pPersistFile;

private: void GetShortCutFile( ) {
HRESULT hRes;
m_pPersistFile = NULL; m_pShellLink = NULL;

hRes = ::CoInitialize( NULL );
if( hRes == E_OUTOFMEMORY ||hRes == E_INVALIDARG||hRes == E_UNEXPECTED) return ;

hRes = ::CoCreateInstance( ::CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, ::IID_IShellLink, (LPVOID*)m_pShellLink );
if( hRes == CLASS_E_NOAGGREGATION ||hRes == REGDB_E_CLASSNOTREG) return ;

hRes = m_pShellLink->QueryInterface( ::IID_IPersistFile, (LPVOID *)m_pPersistFile );
if( hRes != S_OK ) return ;
Load( "a.lnk");
}

489 :デフォルトの名無しさん:2011/02/06(日) 16:11:32
bool Load(LPCSTR filename) {
HRESULT hRes;
OLECHAR ochLinkFile[MAX_PATH];
::MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, filename, -1, ochLinkFile, MAX_PATH );

hRes = m_pPersistFile->Load( ochLinkFile, STGM_READ );
if( hRes != S_OK )return FALSE;

hRes = m_pShellLink->Resolve( NULL, SLR_UPDATE );
if( hRes != NOERROR ) return FALSE;
return TRUE;
}
};}

1レスに入りきらんかった。
CLIのForm標準から始めて、Ole32.libとかkernel32.lib,user32.libとかをリンク設定に放り込んでみたけど駄目だった

490 :デフォルトの名無しさん:2011/02/06(日) 17:12:22
コンパイルオプションが/clr:pureとか/clr:safeになってるとか

491 :デフォルトの名無しさん:2011/02/06(日) 17:24:32
FAQレベルの話をいつまでやってるんだか

492 :デフォルトの名無しさん:2011/02/06(日) 17:27:53
>>491が代わりにこたえてくれるらしいぞ

493 :デフォルトの名無しさん:2011/02/06(日) 17:29:31
ソ レ ダ !

/clrにしたら通りました
なんてこったい。今度は別の問題に当たったけど頑張ってみます。
お騒がせして申し訳ない。ありがとうございました。

494 :デフォルトの名無しさん:2011/02/06(日) 17:30:14
>>490
>>493

495 :デフォルトの名無しさん:2011/02/06(日) 18:59:02
>>493
それ根本的な解決になってないw
>>482で答え出てるじゃん

496 :デフォルトの名無しさん:2011/02/06(日) 19:10:04
>>495
でも出来たよ?
>>482のは調べてないけどさっぱりだったから何もしてない。

497 :デフォルトの名無しさん:2011/02/06(日) 19:33:08
http://support.microsoft.com/kb/130869/ja

498 :デフォルトの名無しさん:2011/02/06(日) 21:14:54
何かものすごい知ったかぶりを見た気がする

499 :デフォルトの名無しさん:2011/02/06(日) 23:00:53
HGDIOBJ型はHPEN型やHBRUSH型を持っているのですか?

キャストしたりしなかったりで、混乱しているので・・

500 :デフォルトの名無しさん:2011/02/06(日) 23:20:57
全部void*型です

501 :デフォルトの名無しさん:2011/02/07(月) 00:52:49
全てのウインドウの親はいわゆるデスクトップというウインドウなんですよね



502 :デフォルトの名無しさん:2011/02/07(月) 02:11:01
デスクトップというウインドウの親は?

503 :デフォルトの名無しさん:2011/02/07(月) 02:43:41
ニトリ!

504 :デフォルトの名無しさん:2011/02/07(月) 02:49:01
>>501
ちがう

>>502
NULL

505 :デフォルトの名無しさん:2011/02/07(月) 10:43:15
spyで見れ

506 :デフォルトの名無しさん:2011/02/07(月) 11:50:02
真実を知ることがこんなにつらいなら
僕は spy になんかなれない

507 :デフォルトの名無しさん:2011/02/07(月) 12:22:54
ノ spy++

508 :デフォルトの名無しさん:2011/02/07(月) 13:28:55
spy#はまだですか

509 :499:2011/02/07(月) 13:38:58
>>500
void*なんですね。ああ、そういうことか・・
Cは初心者で、一通り、ざらっと書籍を読んで学んだだけなので
良くわからなかったのですが、いま、ググッて色々しらべたところよくわかりました。

どうもありがとうございましたm(_ _)m

実は、最初は、「何いっとんねん、このおっさん」とおもっていました。。

よ〜く納得できました。ありがとうございました。

510 :デフォルトの名無しさん:2011/02/07(月) 14:01:50
あれは嘘です

511 :デフォルトの名無しさん:2011/02/08(火) 21:40:22
Cでwin32api勉強してるんだけど
メニューが表示できない
エスパーさん教えて

512 :デフォルトの名無しさん:2011/02/08(火) 22:13:46
>>511
http://wisdom.sakura.ne.jp/system/winapi/win32/index.html
ここの項目76を読むのじゃ

513 :デフォルトの名無しさん:2011/02/08(火) 23:02:47
サンプル通りコピペすればコンパイルは出来るけど
メニュー表示されてないってことは
リソースの埋め込みがちゃんと出来てないってことでおk?

514 :デフォルトの名無しさん:2011/02/08(火) 23:21:41
見てないけどMAKEINTRESOURCE

515 :デフォルトの名無しさん:2011/02/08(火) 23:25:24
見てないけど、*.rcをプロジェクトに登録してない。

516 :デフォルトの名無しさん:2011/02/08(火) 23:29:11
見てないけど、RegisterClassのHMENUに0を入れてる

517 :デフォルトの名無しさん:2011/02/08(火) 23:54:04
見たけど分からない

518 :デフォルトの名無しさん:2011/02/09(水) 00:05:55
見てないけどウィザードでメニューなしを選択。

519 :デフォルトの名無しさん:2011/02/09(水) 00:10:51
見てないけどメニュー識別子が整数なのか文字列なのか分かっていない

520 :デフォルトの名無しさん:2011/02/09(水) 00:30:29
メニューはウインドウ?

521 :デフォルトの名無しさん:2011/02/09(水) 09:24:30
つ ttp://www11.ocn.ne.jp/~ikalu/win_base/0001.html


522 :デフォルトの名無しさん:2011/02/09(水) 19:56:04
brc32じゃ駄目なの・・・?

523 :デフォルトの名無しさん:2011/02/09(水) 22:26:25
>>522
OK

524 :デフォルトの名無しさん:2011/02/10(木) 07:34:48
質問おねがいしまーす。

自スレッドがマウスキャプチャを取得してるときは
そのウィンドウをGetCaptureでそのウィンドウハンドルを取得できますが

他スレッドの場合、MSDNによればGetWindowThreadProcessIdでスレッドidを得て
GetGUIThreadInfoでGUITHREADINFO構造体のhwndCaptureに格納されるって書いてあります。

たしかにそれで取得できるわけですが、 じゃあどのスレッドにキャプチャがあるか知らない時
そのスレッドidを知る方法はありますか?

525 :デフォルトの名無しさん:2011/02/10(木) 11:15:25
EnumThreads

526 :デフォルトの名無しさん:2011/02/10(木) 14:42:27
タイマーのタイムアウト値を変えたいときは

SetTimer(hwnd, TIMER_ID, 1000, NULL);
SetTimer(hwnd, TIMER_ID, 500, NULL);

こんな感じでよろしいでしょうか?
KillTimer() を呼ばなくてもちゃんと置き換わるのでしょうか?

527 :デフォルトの名無しさん:2011/02/10(木) 15:14:44
>>526
http://msdn.microsoft.com/ja-jp/library/cc411200.aspx
http://msdn.microsoft.com/en-us/library/ms644906(VS.85).aspx

nIDEventの項に書いてある

528 :デフォルトの名無しさん:2011/02/10(木) 17:58:07
>>527
ありがとうございます

529 :デフォルトの名無しさん:2011/02/11(金) 00:50:34
brc32を使ってできたexeファイルをtdumpで開いてリソースを
確認しても変化がみられないので
一度削除して
bcc32で.objをつくり、brcc32で.RESをつくり
ilink32でリンク(埋め込み)して再度tdumpで確認したら
埋め込みは出来ている様。
しかし、exeファイルを実行しようとすると
「有効なwin32アプリケーションではありません」とでて実行できない
誰か解消方法を教えてくれ
ちなみにosはwindows7 64bit

530 :デフォルトの名無しさん:2011/02/11(金) 11:07:02
どこがapiだ

531 :デフォルトの名無しさん:2011/02/11(金) 19:41:06
質問させていただきます。
環境はVisualStudio2008EEを使っています。

リソースエディタで作ったエディットボックスに、入力バイト数制限をかけるため、EM_LIMITTEXTを使っています。

コンパイル時の文字セットを「マルチバイト文字セットを利用する」にしている時はうまく動作しました。
しかし事情があって「Unicode文字セットを使用する」でコンパイルする方法に変えました。
結果、入力バイト数ではなく、文字数での制限へと動作が変わってしまいました。

おそらく、CreateWindowWでエディットボックスが作られることとなり、結果文字列がWCHARとして扱われてしまっているのだと思います。

この状態から、コンパイル時の使用文字セットを変えることなく、
うまくマルチバイト扱いでバイト数制限をかける方法はないでしょうか?
よろしくお願いいたします。

・SendMessageAでEM_LIMITTEXTを送ってみる
・SetWindowTextAでマルチバイト文字をセットしてみる
と試してみましたが、効果はありませんでした

532 :デフォルトの名無しさん:2011/02/11(金) 19:44:46
サブクラス化して自前でやればいいよ

533 :デフォルトの名無しさん:2011/02/11(金) 20:21:49
Unicodeなのにバイト数制限とは?方向性が根本的に間違ってね?
やりたいことは多分Unicode→ANSIと変換して制限、を自前で、だと思うが。

534 :デフォルトの名無しさん:2011/02/11(金) 20:22:20
>>531
CreateWindowAで作る

535 :デフォルトの名無しさん:2011/02/11(金) 20:25:58
レスありがとうございます。

>>532
自前はちょっと面倒というか、最終手段ということで

>>533
他のところはユニコードで扱っているのですが、
ここだけは「文字列の横幅(=マルチバイト文字でのバイト数)」で制限をかけたいのです。

もちろんユニコードで入力させて、それを内部で横幅制限をかけるように切り詰めるという方法もあるのですが、
そもそも限界を超えて入力できないほうがユーザーが混乱せずに済むと思います。

536 :デフォルトの名無しさん:2011/02/11(金) 21:11:46
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)



537 :デフォルトの名無しさん:2011/02/11(金) 21:23:35
>>535
534ではダメなのか?


538 :デフォルトの名無しさん:2011/02/11(金) 21:36:32
リソースエディタで作ったって言ってるから、自前でCreateWindowは使ってないんじゃね?


539 :デフォルトの名無しさん:2011/02/11(金) 21:45:21
おっと、質問者でもないのにageちまったスマソ

540 :デフォルトの名無しさん:2011/02/11(金) 23:09:25
あぁ、なるほどね

541 :デフォルトの名無しさん:2011/02/12(土) 03:18:54
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)
>文字列の横幅(=マルチバイト文字でのバイト数)


542 :デフォルトの名無しさん:2011/02/12(土) 03:40:38
何が言いたいんだ?


543 :デフォルトの名無しさん:2011/02/12(土) 06:24:53
CreateWindowでウィンドウを作り(サイズは横400、縦300と考えていただきたい)
その上にCreateWindowでリストボックス(WS_VSCROLLで垂直スクロールバーを付ける)を作成。

でも、これ(リストボックスのサイズは横400、縦300、つまりウィンドウと同じ)だと
リストボックスの垂直スクロールバーが半分くらい右にはみ出ている上に、
スクロールバーの下のボタンが完全にウィンドウからはみ出てしまう。

一応、多分GetSystemMetrics()で、スクロールバーの幅とか高さとか取って
引いてやればいい・・・と思って色々な引数で試したんだが
OSによって、ずれたりもしてしまう。

こういう場合、どういう引数でGetSystemMetrics()を使って
リストボックスのサイズから引けばいいか教えてほしい。

VC6+WinXP(WinMeなども試した)

(説明わかりづらくてすまん)

544 :デフォルトの名無しさん:2011/02/12(土) 06:50:37
>>543
親ウィンドウのスタイルにもよるけど、
親と完全に同じサイズだとはみ出てしまうよ。
その場合だと、ウィンドウ枠やタイトルバーの分だけはみ出ているものと思われるので
GetClientRect()でクライアント領域のサイズを取得して
それでリストボックスのサイズを決めればよい。

545 :543:2011/02/12(土) 07:05:08
>>544
レスどうもです。

GetClientRect(hWnd,&rect); // rect=RECT型

でクライアント領域のサイズ取得→rect.right と rect.bottomを
リストボックスの大きさに当てる・・・

やってみたんだけど横については全く問題なし(上手くいった)。
ただ、縦については、下に少し隙間(メインウィンドウの下の方)ができてしまう。
XPってのが関係あるんだろうか・・・

546 :デフォルトの名無しさん:2011/02/12(土) 07:24:04
>>545
リストボックスのスタイルにLBS_NOINTEGRALHEIGHTを追加してみて。
これをつけないと、最下行に少しだけ表示される項目があるときに
OSが勝手にリストボックスのサイズを変更してしまうので。

547 :543,545:2011/02/12(土) 07:54:54
>>546

上手くいったっす。

>>544,546

お二方、助かりました。
サンクスです。

548 :デフォルトの名無しさん:2011/02/12(土) 08:19:39
>>541-542
マルチバイト文字なら、バイト数が文字の横幅だよな?

549 :デフォルトの名無しさん:2011/02/12(土) 08:27:25
受け取った文字列を WideCharToMultiByte 関数で ANSI 文字列にして
それからチェックすればいいだろ。
こんな小学生でもわかることを質問するなよ。
あと、これは入力されたのが Unicode にしかない文字だとおかしくなっちゃうからな。

550 :デフォルトの名無しさん:2011/02/12(土) 08:30:04
あーそもそも制限を超えて入力できないようにしたいのか

551 :デフォルトの名無しさん:2011/02/12(土) 09:08:21
>マルチバイト文字なら、バイト数が文字の横幅だよな?
>マルチバイト文字なら、バイト数が文字の横幅だよな?
>マルチバイト文字なら、バイト数が文字の横幅だよな?


552 :デフォルトの名無しさん:2011/02/12(土) 09:19:21
何が言いたいんだ?

553 :デフォルトの名無しさん:2011/02/12(土) 09:44:02
マルチバイト文字のバイト数が文字の横幅な訳無い

554 :デフォルトの名無しさん:2011/02/12(土) 10:05:40
Windows7のファイルダイアログってどうやったら実装できますか?
普通にファイルダイアログ使うとXPっぽくなるんで、7のファイルダイアログにしたいです教えてください
VS2005のVC++&MFC使ってます


555 :デフォルトの名無しさん:2011/02/12(土) 10:10:41
まぁ厳密には違うな

556 :デフォルトの名無しさん:2011/02/12(土) 10:11:17
そういう実装にすればOK。プログラム簡単になって良いじゃん。

557 :デフォルトの名無しさん:2011/02/12(土) 10:14:42
等幅フォントでそうならない文字ってあるの?

558 :デフォルトの名無しさん:2011/02/12(土) 10:56:55
アスキーアート
作ってみれば
よくわかる

559 :デフォルトの名無しさん:2011/02/12(土) 12:58:38
>>558
おいおいおいおいw
あれはプロポーショナルフォント だからだろうがw
まじで「プロポーショナルフォントだと幅違くなるじゃん」で>>536,541,551を発言したの!?

560 :デフォルトの名無しさん:2011/02/12(土) 13:24:46
いまどき固定ピッチとか言わないよな

561 :デフォルトの名無しさん:2011/02/12(土) 14:24:33
固定ビッチです

562 :デフォルトの名無しさん:2011/02/12(土) 14:25:33
エデットコントロールが一箇所だけMSゴシックのビットマップフォントになっちゃうの!?

563 :デフォルトの名無しさん:2011/02/12(土) 17:53:41
おいおい、プロポーショナルフォントを知らなかったのなら、別にこれで勉強になったからいいじゃんか。
「いまどき」じゃないから俺は間違ってない!とかプライド確保する必要ないって
ここ匿名掲示板だぜ

564 :デフォルトの名無しさん:2011/02/12(土) 18:21:04
なんか知らんがそこまで必死にならんでも

565 :デフォルトの名無しさん:2011/02/12(土) 19:30:24
どっちも必死すぎてきもい

566 :デフォルトの名無しさん:2011/02/12(土) 19:54:54
>>558
ワロタw

567 :デフォルトの名無しさん:2011/02/13(日) 03:15:42
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>

568 :デフォルトの名無しさん:2011/02/13(日) 03:30:20
Windows InternalsやAdvanced Windowsって本良いですか?

569 :デフォルトの名無しさん:2011/02/13(日) 04:10:37
はい

570 :デフォルトの名無しさん:2011/02/13(日) 14:43:03
http://blogimg.goo.ne.jp/user_image/4f/a1/56b20544632c25ad307dd28eeee6ae4d.jpg

571 :デフォルトの名無しさん:2011/02/13(日) 17:42:58
>>554
ヒント:サイドバイサイド

572 :デフォルトの名無しさん:2011/02/13(日) 22:08:52
すみません。「13歳からはじめるC言語ゲームプログラミング」という本を買ってきたのですが、
VC++2008EEでWin32APIベースで作ることになっています。

インスコしたんですが、どうも私は統合環境での開発がいやで(低性能PCだから重い)、エディタ+コマンドラインコンパイルがすきです。
Win32の講座のページもbcc32 -W hoge.cppでやっていたんですが、この本ではGDI+を使っているので
bccではできそうもないです。

VC++Exp2008のVisualStudio2008コマンドプロンプトっていうので、エディタで書いたのをコンパイルしたいのですが、
何オプションをつけてコンパイルしたらいいのでしょうか?

ちなみに、大の大人です。ただ、グラフィックとか音楽の鳴らし方とか、私の好みに合いそうな例題だったんで・・

573 :デフォルトの名無しさん:2011/02/13(日) 22:09:45
最近のAPIを使ったアプリケーションを
古いWindowsの上で動かそうとすると
「なんとか.dllが見つかりません」
というエラーが出て来るのですが
古いWindowsの場合だけその機能をスキップして
その他は正常に動作させたいときは
LoadLibraryでAPIを利用するしかないのでしょうか?

574 :デフォルトの名無しさん:2011/02/13(日) 22:11:53
>>572
cl hoge.cpp user32.lib gdi32.lib
とかすれば大抵はうまくいくよ

575 :デフォルトの名無しさん:2011/02/13(日) 22:16:14
>>573
たぶんそう

576 :デフォルトの名無しさん:2011/02/13(日) 22:35:12
◆QZaw55cn4c


577 :572:2011/02/13(日) 22:36:53
>>574
どうもありがとうございます!明日その方法で試してみます!

なんか、リンカがどうのこうのとかかいてあったのですが、ググッてやってみます。

ありがとうございました!

578 :デフォルトの名無しさん:2011/02/14(月) 10:10:51
そうゆー論争にはあんま興味ないんだけどさ
何だかんだで天皇陛下のもと日本国民はまとまってる感じ
そんなに天皇が嫌いなら自分から別の土地へ行けばいいのに

579 :デフォルトの名無しさん:2011/02/14(月) 10:39:07
誤爆だよな?

580 :579:2011/02/14(月) 10:39:30
誤爆しました

581 :582:2011/02/14(月) 11:21:35
いやいや俺が誤爆だよ

582 :デフォルトの名無しさん:2011/02/14(月) 11:42:51
uyouyonetouyouyouyo

583 :デフォルトの名無しさん:2011/02/14(月) 13:22:12
ウィンドウ上のスタティックコントロールの文字(フォント)の大きさに
合わせて、スタティックコントロールのサイズを変えるって事をしたいんです。
DelphiのTLabelコンポのAutoSizeプロパティのような物です。

今は、

//st1はスタティックコントロールのウィンドウハンドル
//stringはスタティックの文字列
hDC=GetDC(st1);

GetTextExtentPoint32(hDC,string,strlen(string),&size);

ReleaseDC(st1,hDC);

SetWindowPos(st1,NULL,NULL,NULL,size.cx,size.cy,SWP_NOMOVE);

って感じでやってます。
フォントサイズを全く変えない(14のまま?)場合は
ぴったりの大きさになるんですが

SendMessage(st1,WM_SETFONT,(WPARAM)hFont,TRUE); //hFontの大きさは32

のように、フォントサイズを変えてから上記のことをやると
スタティックの大きさが変わりません。
間違ってる部分を教えて下さい。

584 :デフォルトの名無しさん:2011/02/14(月) 13:23:41
現在うごいているスクリーンセーバーを解除して画面を戻すAPIを教えてくださ

585 :デフォルトの名無しさん:2011/02/14(月) 13:27:04
>>584
ttp://qune.cside.com/archives/001517.html

586 :デフォルトの名無しさん:2011/02/14(月) 13:58:20
>>583
hDCがフォントを選択していないのでは。

587 :デフォルトの名無しさん:2011/02/14(月) 14:07:01
>>585
できました

588 :デフォルトの名無しさん:2011/02/14(月) 16:51:14
ここでいいのか分からないんだけど
OpenProcessでDLLを別のアプリケーションにアタッチしてAPIをフックして
UI用のアプリからDLLプロセスに現在の設定値を通知するようなことがしたいんだけど
UIからDLLへの通信ってどうやればいいんだろう?
相手アプリが1つとは限らないからMutexとか固定されたものを使うわけにはいかないし

589 :デフォルトの名無しさん:2011/02/14(月) 19:11:25
面倒ならDLL側でポーリングすれば? タイミングが大して問題じゃないなら。

590 :デフォルトの名無しさん:2011/02/15(火) 01:10:49
>>226

いや
急降下以外は ヘルキャット<零式22型 なわけだが?

591 :デフォルトの名無しさん:2011/02/15(火) 01:42:49
>>588
ソケットでやるのが楽
クライアント増える前提だと他の共有方法は面倒すぎる

592 :デフォルトの名無しさん:2011/02/15(火) 07:02:00
ソケットだとデフォルト設定のファイアウォールで遮断される可能性はないかな?

DLL側でウィンドウ作って、ハンドルをホストアプリに通知
メッセージ待ち受け状態にするのは面倒くさい?
UAC環境では実行ユーザが同じである必要はあるんだけど楽だと思う。


593 :デフォルトの名無しさん:2011/02/15(火) 09:31:27
ちょっと教えてください。
DOS6.2のAVSDRV.SYSのファイルって、皆さんどれ使ってますか?
いま、
1996年4月1日58,668バイトのものと
1994年12月8日48,048バイトのものがあるんです。

594 :デフォルトの名無しさん:2011/02/15(火) 10:26:14
Rectangleで長方形を書いて
InvalidateRectでその長方形を再描画する。
こう↓

InvalidateRect(hWnd,&rect,FALSE);

すると色々変な現象がおきる。

1. ビルドして実行するとウィンドウ上のボタンやリストボックスが消えてしまうことがある(消えない場合もある)。
(ボタンやリストボックスはクリックすると現れる)
2. ボタンが2つあって、一つをクリックした後、もう一つのボタンを押すと
先に押したボタンの内側に変な線が残る

どうしたらいいか、教えてくれー

595 :デフォルトの名無しさん:2011/02/15(火) 10:51:55
WS_CLIPCHILDREN
WS_CLIPSIBLINGS

596 :デフォルトの名無しさん:2011/02/15(火) 11:10:22
クライアント座標とスクリーン座標

597 :594:2011/02/15(火) 11:16:06
>>595
その2つの引数加えてウィンドウ作ったら
1の問題は解決したっぽい。
ありがと。
でも2の問題は解決しない・・・

598 :デフォルトの名無しさん:2011/02/15(火) 14:03:43
>>592
ウィンドウはいいアイデアだなと思ったけど
UIウィンドウのアドレスはどうやって通知するの?w

599 :デフォルトの名無しさん:2011/02/15(火) 15:46:33
質問いっすか?

600 :デフォルトの名無しさん:2011/02/15(火) 15:59:05
おっすおっす

601 :デフォルトの名無しさん:2011/02/15(火) 16:37:19
一番いい質問を頼む

602 :デフォルトの名無しさん:2011/02/15(火) 16:59:27
RedrawWindow
UpdateWindow
InvalidateRgn
の使い分けの仕方を教えてください

603 :デフォルトの名無しさん:2011/02/15(火) 22:21:49
>>602
http://msdn.microsoft.com/ja-jp/library/cc364699.aspx
ここを一読した後に
MSDNでそれらの関数の項目を読めば理解できると思う


604 :デフォルトの名無しさん:2011/02/15(火) 23:50:55
>>598
UI側のクラス名かウィンドウ名(または両方)を決めておけば、
FindWindowでウィンドウハンドル取得できる。

605 :デフォルトの名無しさん:2011/02/16(水) 03:28:33
そんな用途ならウィンドウよりスレッドがいいんじゃないの?

606 :デフォルトの名無しさん:2011/02/16(水) 10:32:21
すんません、>>599です、昨日質問できずに帰ってしまったので・・

質問しますけどいいですか?

607 :デフォルトの名無しさん:2011/02/16(水) 10:45:58
質問してもいいかという質問をすでにしている点についてはどう思いますか?

608 :デフォルトの名無しさん:2011/02/16(水) 14:39:31
わかりました、じゃあわかりました。

質問いいっすか?

609 :デフォルトの名無しさん:2011/02/16(水) 20:41:13
嫌だって言ってもいいっすか?

610 :デフォルトの名無しさん:2011/02/16(水) 20:59:08
嫌です

611 :デフォルトの名無しさん:2011/02/16(水) 21:04:37
質問箱に回答があるのはおかしいとは思いませんか?

612 :デフォルトの名無しさん:2011/02/17(木) 04:37:39
思いませんって言ってもいいっすか?

613 :デフォルトの名無しさん:2011/02/17(木) 10:57:50
だめですって言えば考え直してもらえますか?

614 :デフォルトの名無しさん:2011/02/17(木) 13:00:12
あ、すんませんまた寝てました

改めて質問しますが

615 :デフォルトの名無しさん:2011/02/17(木) 13:19:15
もうあきた

616 :デフォルトの名無しさん:2011/02/17(木) 13:25:27
詰問してもいっすか?

617 :デフォルトの名無しさん:2011/02/17(木) 13:41:44
もう我慢できません質問します

618 :デフォルトの名無しさん:2011/02/17(木) 13:42:17
http://img.5pb.org/s/10mai581303.jpg

619 :デフォルトの名無しさん:2011/02/17(木) 13:49:46
また蛆テレビがやらかしたか

620 :デフォルトの名無しさん:2011/02/17(木) 14:23:54
これはひどい

621 :デフォルトの名無しさん:2011/02/17(木) 14:47:13
60代がキムチねぇ

622 :デフォルトの名無しさん:2011/02/17(木) 14:59:47
では質問します

623 :デフォルトの名無しさん:2011/02/17(木) 18:13:03
質問

お前等ってどうして知らないのにレスするのですか?

624 :デフォルトの名無しさん:2011/02/17(木) 18:16:37
知らなかったらレスしてはいけないのですか?

625 :デフォルトの名無しさん:2011/02/17(木) 18:44:25
>>624
知らないのにレスしないで下さい。ウザいだけです。

626 :デフォルトの名無しさん:2011/02/17(木) 18:49:52
キムチ鍋ではなくチゲ鍋じゃないのか。
確かに美味いと思う。
漬物といえば今はキムチだしね。

っと板が全くちがうでわないか。

627 :デフォルトの名無しさん:2011/02/17(木) 18:56:23
>>625>>1 を読むべきでしょう

628 :デフォルトの名無しさん:2011/02/17(木) 18:58:49
ここはとてもキムチ臭のするスレですね

629 :デフォルトの名無しさん:2011/02/17(木) 19:03:34
日本人はキムチ好き

630 :デフォルトの名無しさん:2011/02/17(木) 20:42:55
>>618
うさんくせーw

631 :デフォルトの名無しさん:2011/02/17(木) 21:25:33
コラっしょ

632 :デフォルトの名無しさん:2011/02/17(木) 23:47:33
【調査】アラゆる世代の女性に聞きました!「好きな鍋料理は?」→全世代キムチ鍋−笑っていいとも[11/02/17]
http://yuzuru.2ch.net/test/read.cgi/liveplus/1297914086/

633 :デフォルトの名無しさん:2011/02/18(金) 04:00:15
韓国のオバサンが素足でキムチを踏んでるシーンをテレビで見てから食えなくなった。
ちなみに、フランスの若い女がぶどうを踏んで作ったワインは飲める。

634 :デフォルトの名無しさん:2011/02/18(金) 10:43:35

>>633は白人コンプレックス


635 :デフォルトの名無しさん:2011/02/18(金) 11:17:09
もりあがってるところすみませんが
シングルクリックとダブルクリックを区別したいのですが
ダブルクリックを受け取るときにどうしても
シングルクリックが同時に来てしまうのです
助けてください

636 :CS_DBLCLKS:2011/02/18(金) 11:57:29
いやです

637 :デフォルトの名無しさん:2011/02/18(金) 12:23:07
>>636
濡れた

638 :デフォルトの名無しさん:2011/02/18(金) 15:17:41
これがツンデレか。
眼福眼福。

639 :デフォルトの名無しさん:2011/02/18(金) 17:43:43
かかってこいよ

640 :デフォルトの名無しさん:2011/02/18(金) 20:19:25
http://up.pandoravote.net/up4/img/panflash00026105.jpg

641 :デフォルトの名無しさん:2011/02/18(金) 20:44:15
>>635
当たり前だけど最初のクリックの後次が来るかどうかなんてわからないので
大抵はダブルクリックの動作の布石になるような動作処理をシングル側に書いたりする

どうしてもイヤなら待つ

642 :デフォルトの名無しさん:2011/02/18(金) 20:47:07
ちなみに布石ってのは、例えばダブルが何かを確定させる動作なら
シングルはその 何 を選択させる動作、みたいな
参考:Explorerの動き

643 :デフォルトの名無しさん:2011/02/18(金) 21:20:30
テレビは糞とか言いながらいちいちうぉっちしてるのな

644 :デフォルトの名無しさん:2011/02/18(金) 22:38:50
>>642
何いっちゃってちゃっててっててるのこいつ?

645 :デフォルトの名無しさん:2011/02/19(土) 01:25:24
WindowsAPIって全体としてはどのくらい存在するわけ?

646 :デフォルトの名無しさん:2011/02/19(土) 02:14:42
3.1系からだと考えると、17〜18年

647 :デフォルトの名無しさん:2011/02/19(土) 02:33:28
数じゃないのか

648 :デフォルトの名無しさん:2011/02/19(土) 04:23:04
寿命で言えば20年超えてる

649 :デフォルトの名無しさん:2011/02/19(土) 05:45:46
自前でDLLを作って
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD dwReason, LPVOID lpvReserved)
の hInstDLL の値を
dwReason が DLL_PROCESS_ATTACH のときにテスト表示させています
Windows 2000 とか Windows XP とかだと起動する exe 毎にこの値が変化するのですが
Windows Vista だと (Windows 7 は持ってないので試せない) exe を複数同時に起動しても同じ値になります
この辺の事情について詳しく解説されているサイトなど検索してみたのですが見つからず
ご存知の方いらっしゃいましたら教えて頂けるとありがとう

650 :デフォルトの名無しさん:2011/02/19(土) 10:33:57
>>649
異なるプロセス空間ですから、同じ値になっても不思議はありません。もちろん異なる値になっても不思議はありません。
hInstanceの値は単なるハンドルなので、同一プロセス空間内で区別が出来ること意外のことは関知しません。
その値の内容について気にしてはいけません。
それをふまえた上で、その結果が偶然ではないとすると、単純にDLLがロードされるアドレスに由来する値が
返されていたのが、ASLRの関係でそうではなくなっただけではないでしょうか。

651 :デフォルトの名無しさん:2011/02/19(土) 15:22:09
気にする必要のないものいちいち受け渡すなよ

652 :デフォルトの名無しさん:2011/02/19(土) 18:41:19
XP以前はベースアドレスが他のDLLと被っててリロケーションが発生してるだけだろ

653 :デフォルトの名無しさん:2011/02/19(土) 18:56:09
リロケーションが発生しても再配置ルーチンが一緒なんだから毎回同じアドレスになるはずでは?

654 :デフォルトの名無しさん:2011/02/19(土) 19:37:00
ところで、hInstはDLLのベースアドレスっていうのは真なのか?

655 :デフォルトの名無しさん:2011/02/20(日) 02:13:24.90
クソウヨは自殺しろよ

656 :デフォルトの名無しさん:2011/02/20(日) 02:18:28.83
人間のクズが何スレッド何年にも渡って荒らしやがって。

死ね。クソウヨの分際で。

生きる価値のないウジムシが。

657 :デフォルトの名無しさん:2011/02/20(日) 02:24:20.53
ぬるぽ

658 :デフォルトの名無しさん:2011/02/20(日) 09:56:52.27
        |\           /|
        |\\       //|
       :  ,> `´ ̄`´ <  ′僕と契約して、民主党に入れてよ
.       V  ⌒  ⌒  V  そしたらどんなマニフェストも1つだけかなえてあげるよ
.       i{  (・ )` ´( ・) }i
       八  (__人_)  .八
.       / 个 . _ `ー' _ .个 ',
   _/   il   ,'    '.  li  ',__

魔法政党まさか☆マジカ

1話「マニフェストであった、ような・・・」
2話「子供手当はとっても嬉しいなって」
3話「もう何も恐くない」
4話「仕分けも、増税も、あるんだよ」
5話「審議拒否なんて、あるわけない」
6話「こんなの絶対おかしいよ」
7話「本当の現実と向き合えますか?」
8話「国民って、ほんとバカ」

659 :デフォルトの名無しさん:2011/02/20(日) 23:48:47.16
ここを見て勉強中です。
ttp://www.geocities.jp/ky_webid/win32c/041.html
hButton や hButton1, hButton2, hButton3 等を作ったあと
プログラムの最後(WM_DESTROY?)に破棄していないようですが、
これはほっといてもOSが勝手に破棄してくれるということでしょうか?

660 :デフォルトの名無しさん:2011/02/21(月) 00:14:12.61
Yes, we can.

661 :デフォルトの名無しさん:2011/02/21(月) 05:05:44.51
今「一式戦闘機 隼」を見てるけど
ナレーションはまだしも、チンケなBGMなんか付けるなよ。

エンジン音が聞こえん。。


662 :デフォルトの名無しさん:2011/02/21(月) 10:31:20.02
SetForegroundWindow() を呼んでいなかったのが原因でした
本当にありがとうございました

663 :デフォルトの名無しさん:2011/02/21(月) 17:55:04.23
かかってこい

664 :デフォルトの名無しさん:2011/02/21(月) 18:47:54.71
Window の拡張スタイルに WS_EX_LAYERED というのがあって、半透明の
Window が作れるけれど、MDI で開いた Window にはこれを設定する
方法が見つからない。CreateMDIWindow() には Ex 付きはないし、
MDICREATESTRUCT にもそのエントリーがない。SetWindowLong(),
SetWindowLongPtr() でも WS_EX_LAYERED がセットできない。
半透明にする裏技はないんでしょうか。

665 :デフォルトの名無しさん:2011/02/21(月) 22:13:33.14
トップレベルウィンドウ用の属性が何故使えると思ったのかね?

666 :デフォルトの名無しさん:2011/02/22(火) 03:05:28.62
uruse-baka

667 :デフォルトの名無しさん:2011/02/22(火) 06:29:01.56
MDIっていまどき流行らないよ

668 :デフォルトの名無しさん:2011/02/22(火) 09:30:10.72
流行り廃りはどうでも良い
本人はそれを行う方法を探してるのだ

669 :デフォルトの名無しさん:2011/02/22(火) 13:18:58.08
>>667
否定だけで何の解決も示さない存在価値のないレスかっこいいですね

670 :デフォルトの名無しさん:2011/02/22(火) 13:21:26.72
>>667
知らないならレスしないで下さい。ウザいだけです。

671 :デフォルトの名無しさん:2011/02/22(火) 14:07:46.19
>>667
これだから…

672 :デフォルトの名無しさん:2011/02/22(火) 18:09:46.33
スターウォーズ計画は関係ないだろ

673 :デフォルトの名無しさん:2011/02/23(水) 09:43:57.41
>>667 の人気に sit

674 :664:2011/02/23(水) 10:36:41.65
折角ですから、お笑いネタ。
MDI 子ウインドウに対して
long lStyle = GetWindowLong(hWnd, GWL_EXSTYLE);
SetWindowLong(hWnd, GWL_EXSTYLE, (lStyle | 0x00080000));
を実行しても、GWL_EXSTYLE の値は変わりません。
LastError を見ると、両方とも実行後は「正常終了」。
念のため、各実行前に SetLastError(-1); を入れると
実行後両方とも "-1" 。

675 :デフォルトの名無しさん:2011/02/23(水) 10:49:21.07
>>674
665 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/21(月) 22:13:33.14
トップレベルウィンドウ用の属性が何故使えると思ったのかね?

676 :デフォルトの名無しさん:2011/02/23(水) 10:53:49.06
>>674
http://msdn.microsoft.com/en-us/library/ms632599(VS.85).aspx

Note that WS_EX_LAYERED cannot be used for child windows.

分かる?

677 :デフォルトの名無しさん:2011/02/23(水) 11:26:42.06
>>674
それがどうかしましたか?

678 :デフォルトの名無しさん:2011/02/23(水) 12:25:56.24
>>674
どこがおもしろいのか教えてくれないか?

679 :デフォルトの名無しさん:2011/02/23(水) 13:07:38.96
>>674-678
>>667さんの人気が羨ましいからって、自演してまで同じことしても無駄ですよ

680 :デフォルトの名無しさん:2011/02/23(水) 14:18:01.76
マウスカーソルが98画面内にあるときは98のマウスカーソル
画面外にあるときはWindowsのマウスカーソル
自動的に切り替えられるエミュってできないのかなぁ


681 :デフォルトの名無しさん:2011/02/23(水) 14:18:51.65
98?

682 :デフォルトの名無しさん:2011/02/23(水) 14:24:18.34
PC-98って固有のカーソルあったっけ?

683 :デフォルトの名無しさん:2011/02/23(水) 14:56:34.38
Win3.1?

684 :デフォルトの名無しさん:2011/02/23(水) 18:28:47.60
PC-98 を絶滅に追いやったのは Windows98 なんですか?

685 :デフォルトの名無しさん:2011/02/23(水) 19:02:19.82
価格だろう
PC-9821Ap3になんやかんや付けて70万くらいした気がする

686 :デフォルトの名無しさん:2011/02/23(水) 19:05:43.88
ハードとOSを比較するひとって(ry

687 :デフォルトの名無しさん:2011/02/23(水) 19:09:57.35
済みません、質問なのですが宜しくお願いします

既にPopupで作成されたウインドウをOverlapに変更する方法はありませんでしょうか?
ウインドウのオーナーを直接変更する関数はAPIに存在しないようですが、何か方法があれば教えてくださいませ。
他にオーナーウインドウを持つPopuoウインドウを、他にオーナーウインドウを持たないOverlapウインドウに変更したいです。

688 :デフォルトの名無しさん:2011/02/23(水) 19:14:37.24
SetParent

689 :デフォルトの名無しさん:2011/02/23(水) 19:17:33.75
レス有難うございます。
Parentでなく、オーナーを変更したいのです。
0 をいれてParent をデスクトップにしてもオーナーは元のままになって、最小化した時にタスクバーに隠れません

690 :デフォルトの名無しさん:2011/02/23(水) 19:38:30.45
SetWindowLong(hWnd , GWL_HWNDPARENT, 0) はどう?

691 :デフォルトの名無しさん:2011/02/23(水) 20:20:30.19
レス有難うございます。
最小化時にタスクバーに隠れました。
でも、オーナーウインドウを閉じると一緒に終了してしまいますので、Overlapにはなっていないかも知れません。
当面の目的を達せましたので、これで色々と書いてみます。

692 :デフォルトの名無しさん:2011/02/23(水) 21:04:36.48
アプリ(A)が起動時に他のアプリ(B)からウィンドの操作を行いたいと思います。
たとえば、Aが最小されている場合BがAに対してSendMessageでSC_RESTOREを送信すると、最前に表示されます。
ここから質問なのですが、
Aが他のアプリのバックグランドに隠れているときに最前に表示をさせたいときはどのようにすればよいでしょうか?

やりたいことは、タスクトレイアプリ(B)がGUIアプリ(A)を起動させるのですが、
Aがすでに起動している場合は最前に表示を行いたいだけです。
Aのハンドルはもちろん外部ファイルかでBも知っているのでSendMessageで何かを送信すればよいと思うのですが・・・
長文ですいません。

693 :デフォルトの名無しさん:2011/02/23(水) 21:11:34.98
>>684
マジレスするとCバスとそのための独自サウスブリッジのコストと性能じゃね?

694 :デフォルトの名無しさん:2011/02/23(水) 22:24:15.55
>692
setforegroundwindow attachthreadinputでぐぐれ

695 :デフォルトの名無しさん:2011/02/23(水) 22:28:12.98
印刷前提の描画処理内で太い点線
(PS_GEOMETRIC | PS_ENDCAP_SQUARE | PS_DASH)を描いているのですが、
これに太い輪郭を付けようとすると、どういう方法が考えられますか?

線の太さを変えて同じ位置に描く
→点線だからずれてしまう

同じ太さでループで回しながら周囲に描く
→何百回も描画が必要な上に、斜め線のときには輪郭が8方向に角張ってしまう

と、自前で調べた方法ではうまい描画にならず、困っています。


696 :デフォルトの名無しさん:2011/02/23(水) 22:41:44.82
path

697 :デフォルトの名無しさん:2011/02/23(水) 23:00:36.89
やっとMFCが理解できるようになったよ

698 :デフォルトの名無しさん:2011/02/23(水) 23:01:20.86
>>684
Compaq Shock だろ

699 :デフォルトの名無しさん:2011/02/24(木) 07:24:46.53
Windows2000が出せたならWindows7も出せるはず

700 :692:2011/02/24(木) 10:58:05.21
>>694
ありがとうございます。簡単に解決しました(^^

701 :デフォルトの名無しさん:2011/02/26(土) 15:24:19.11
OleLoadPictureでTop-DownでRenderする時のパラメータってどう書くんですか?
ググってもBottom-Upでの方法ばっかで困った

702 :デフォルトの名無しさん:2011/02/26(土) 15:47:16.56
>>701の追記
ググるとこんな感じに書かれてる(w, h: pixel単位、mw, mh: HIMETRIC単位)
pic.Render(hdc, 0, 0, w, h, 0, mh, mw, -mh, NULL);

だからこうかなと思ったんですが画像の上部に黒い部分が出来る
表示位置がずれているぽい
pic.Render(hdc, 0, 0, w, h, 0, 0, mw, mh, NULL);

Bottom-Up番では第7引数(転送元開始y座標)で(mh-1)(?)じゃなくて
mhが指定されているからTop-Down版では-1にすれば行けるかなと思ってやってみたけど
そっちもダメでした。

703 :701:2011/02/26(土) 16:21:11.32
解決まじかよ・・

704 :デフォルトの名無しさん:2011/02/26(土) 16:53:30.02
> OleLoadPictureでTop-Downで
で?

705 :デフォルトの名無しさん:2011/02/26(土) 17:25:29.64
>> OleLoadPictureでTop-Downで
>で?
で?

706 :デフォルトの名無しさん:2011/02/26(土) 18:24:03.48
> > OleLoadPictureでTop-Downで
日村を思い出した

707 :デフォルトの名無しさん:2011/02/26(土) 23:58:19.22
      ☆★☆ これがブサヨだ! ☆★☆

     Q:ブサヨってどんな奴なの?
     A:こういうのがブサヨです


         /:::::::::::::::::::::\
       /::::::::::::::::::::::::::::::::\
       |:::::::::::|_|_|_|_|_|
       |_|_ノ∪ \,, ,,/ ヽ
       |::( 6  ー─◎─◎ )
        |ノ  (∵∴∪( o o)∴)
      |   <  ∵   3 ∵>
     /\ └    ___ ノ
       .\\U   ___ノ\
         \\___)  ヽ
★ 左翼っつーか韓国中国マンセーのアナキスト。
★ 憲法9条真理教徒。
★ 日本を褒めるスレを異常に嫌悪する。
★ 国家や郷土をコミュニティにしないけど、かといって独自のコミュニティを持っているわけでもない。
  要するにクラスでハブられて独りでブツブツ言ってるようなヤツ。
★ 皇室に異常な敵意を持っていて、ネットで天皇を潰そうぜとか吠えてるけど、
  憲法改正には一切言及しない現実逃避者。
★ 小泉構造改革が諸悪の根源と言っているが、民主政権下で小泉の時より国民の生活が悪化していることはスルー。
★ 民主党信者だけど、今ネットで民主党を擁護すると風当たりが強いから、自民叩きやウヨ叩きに精を出す日々。
  民主党の支持率とブサヨのジミンガーウヨガーと暴れる度合いに相関関係があることは興味深い。
★ 日本嫌いだけど日本語しか使えない。
★ 30代後半〜団塊のオッサンの割合が多い。
★ 「在日のレッテル貼るな!」と言うけど、思想や言動が朝鮮人と全く同じなので、ネットだと区別がつかない事には気づいていない。


708 :デフォルトの名無しさん:2011/02/27(日) 10:39:05.38
>>315
こんなかんじ

#朕ガ最モ信頼セル老臣ヲ悉ク倒スハ、真綿ニテ朕ガ首ヲ締ムルニ等シキ行為ナリ
#朕自ラ近衛師団ヲ率ヰテ、此レガ鎮定ニ当タラン

おれが一番頼みにしてる人間を全て殺すのは、じわじわおれの首を
しめて殺そうとしているのと同じ、おれ自ら軍隊率いて鎮圧してやるよ

709 :デフォルトの名無しさん:2011/02/27(日) 13:16:51.58
なんでム板とマ板にはキモイ奴らが沸くのか

710 :デフォルトの名無しさん:2011/02/27(日) 14:21:19.98
わざわざ相手にするキモイのが多いから・・・

711 :デフォルトの名無しさん:2011/02/27(日) 15:50:51.80
わざわざ相手する奴初めて見たな
普通はみんなスルーしてるのに。

ああ、自作自演か。釣られたぜ

712 :デフォルトの名無しさん:2011/02/27(日) 16:59:57.87
>>710-711
これがわざわざ相手にするキモイ奴らのサンプルです

713 :デフォルトの名無しさん:2011/02/27(日) 17:15:04.89
お前モナー

714 :デフォルトの名無しさん:2011/02/27(日) 17:59:55.18
こんな化石みたいなこと言う人まだいるんだ…きも…

715 :デフォルトの名無しさん:2011/02/27(日) 18:10:41.29
>>714
逝ってよし

716 :デフォルトの名無しさん:2011/02/27(日) 18:14:15.01
世間から見たら 2ch 自体がすでに化石なんだが...

717 :デフォルトの名無しさん:2011/02/27(日) 18:32:15.91
つまりここに書き込んでいる人たちはお前も含めて全員化石

718 :デフォルトの名無しさん:2011/02/27(日) 19:11:55.20
WinAPIだって半分化石

719 :デフォルトの名無しさん:2011/02/27(日) 19:15:38.30
マジでUI系APIのバッドノウハウオンパレード状態を何とかしてほしいね

720 :デフォルトの名無しさん:2011/02/27(日) 20:25:54.33
文字数とバイト数がOSによってどころかDLLのバージョンによってぐちゃぐちゃなのをなんとかしてほしいものだ。

721 :デフォルトの名無しさん:2011/02/27(日) 21:42:39.49
WinAPIを直接使うのは物好きかニッチか馬鹿なのでいいんです

722 :デフォルトの名無しさん:2011/02/27(日) 22:39:29.84
綺麗に書き直されることは今後ないの?

723 :デフォルトの名無しさん:2011/02/27(日) 22:52:10.62
Win32APIじゃないかもしれないけど
好きな関数

SHGetImageList



724 :デフォルトの名無しさん:2011/02/27(日) 23:03:43.53
CopyRect

725 :デフォルトの名無しさん:2011/02/28(月) 00:34:26.28
SetExpImage

726 :デフォルトの名無しさん:2011/02/28(月) 09:38:11.97
GetDlgItem

727 :デフォルトの名無しさん:2011/02/28(月) 09:45:33.47
全Win32API 長い関数名選手権

728 :デフォルトの名無しさん:2011/02/28(月) 09:56:28.01
エントリーがなかったので終了

729 :デフォルトの名無しさん:2011/02/28(月) 12:08:03.92
LRESULT WINAP エントリーがなかったので終了()

730 :デフォルトの名無しさん:2011/02/28(月) 17:51:52.37
愛がないので終了。

731 :デフォルトの名無しさん:2011/02/28(月) 19:27:53.86
http://ruru2.net/jlab-ruru/s/ruru1298870930968.jpg
どうかしてるぜっ!

732 :デフォルトの名無しさん:2011/03/01(火) 18:32:51.50
プロセス間通信をしようと思ってDLLでウィンドウを作成して
メッセージをポストしようかと思ってるんだけど
DLL_PROCESS_ATTACHでCreateWindowをしてみたら一瞬出るんだけど
すぐにDLLがアンロードされて消える
どうすればいいんだろう?

733 :デフォルトの名無しさん:2011/03/01(火) 18:41:41.50
そりゃお前がおかしなことしてるからちゃんと動かないだろう

734 :デフォルトの名無しさん:2011/03/01(火) 18:55:49.42
そのDLL独自のスレッドを立ち上げてその中でCreateWindowしてメッセージループまわしてみたら

735 :デフォルトの名無しさん:2011/03/01(火) 19:35:15.48
>>734
調べてその方法でいけましたが今度は別の問題が出てきまして

Windows7 64bitなんですがPostMessageしても反応しないんですが
UAC関係の問題なんでしょうか?

736 :デフォルトの名無しさん:2011/03/01(火) 20:05:18.22
UACオフにして調べてみればすぐ分かると思うんだけど…

737 :デフォルトの名無しさん:2011/03/01(火) 20:20:38.57
Windows7 sp1からデスクトップのウィンドウ構造が変わった?
SHELLDLL_DefViewとかがProgmanの子じゃなくなったけど前からだっけ?

738 :デフォルトの名無しさん:2011/03/01(火) 20:33:05.52
はあ…

739 :デフォルトの名無しさん:2011/03/01(火) 20:42:45.91
ちょっとぉ、ため息とかつかないでくれる?

740 :デフォルトの名無しさん:2011/03/01(火) 20:55:42.88
UACをoffするapi教えてください

741 :デフォルトの名無しさん:2011/03/01(火) 21:55:03.32
そんなAPIはない

742 :デフォルトの名無しさん:2011/03/01(火) 21:57:33.56
お父さんスイッチ(おじいちゃんも可)を使えばおk

743 :デフォルトの名無しさん:2011/03/01(火) 23:25:54.27
適切なスレかわからないけど
他のアプリにSendInputして入力を補助してるプログラムがあって
VMWare上で動いてるプログラムにもWMWareが仲介するから動くだろうと思ってたら動かない
VMWareが物理キーボードやマウス以外は遮断してるの?

744 :デフォルトの名無しさん:2011/03/01(火) 23:47:33.33
_tcscmp みたいな汎用テキスト関数が覚えられないんだけど何か良い覚え方ありますか?

745 :デフォルトの名無しさん:2011/03/02(水) 00:04:30.62
string使えばいいよ

746 :デフォルトの名無しさん:2011/03/02(水) 01:08:12.71
>>743
ひょっとして馬鹿なの?

747 :デフォルトの名無しさん:2011/03/02(水) 01:15:17.36
春だなぁ・・・・・・・・・・・・・・w

748 :デフォルトの名無しさん:2011/03/02(水) 02:03:01.73
>>744
覚えるまで使う。
てか10年以上のプロの俺でさえ今でもリファレンス確認するから、完全に覚える必要はない。

749 :デフォルトの名無しさん:2011/03/02(水) 11:59:21.42
ドトネトに移行すればみんなハッピー

750 :デフォルトの名無しさん:2011/03/02(水) 12:00:39.02
ウィンドウの横淵のサイズを取得するAPI教えて

751 :デフォルトの名無しさん:2011/03/02(水) 12:04:58.93
わかったSM_CXFRAMEだ

つーか、お前等ってほんと何の役にもたたねーよなww

752 :デフォルトの名無しさん:2011/03/02(水) 12:07:36.84
いま教えようと思ったのにぃ

753 :デフォルトの名無しさん:2011/03/02(水) 14:13:57.20
早漏だったごめん

754 :デフォルトの名無しさん:2011/03/02(水) 18:19:08.70
VIPみたいな速度でレス求められると泣きます

755 :デフォルトの名無しさん:2011/03/02(水) 19:27:52.33
>>740
MessageBox(hWnd, "このプログラムを実行するためにはUACを無効にして下さい。", "実行環境異常", MB_OK);

756 :デフォルトの名無しさん:2011/03/02(水) 20:02:29.01
待てなかったんだよ・・・

どうせお前等ニートなんだしこういう時くらい人に役にたてよ
そのチャンスを与えてやったのに役にたってねーんだもん
ゴミが・・・

757 :デフォルトの名無しさん:2011/03/02(水) 20:29:42.46
ウンコ製造機が何偉そうにしてんだ

758 :デフォルトの名無しさん:2011/03/02(水) 21:24:18.16
>>748
ありがとう

759 :デフォルトの名無しさん:2011/03/02(水) 21:53:02.73
>>756 はつんでれ

760 :デフォルトの名無しさん:2011/03/03(木) 07:08:46.84
>>756 はつんでる

761 :デフォルトの名無しさん:2011/03/03(木) 12:11:54.23
>>756はつるつる


762 :デフォルトの名無しさん:2011/03/03(木) 13:41:22.61
うんこ製造機じゃない人間なんていない!

763 :デフォルトの名無しさん:2011/03/03(木) 18:38:33.54
ウンコ我慢すると、神になれる

764 :デフォルトの名無しさん:2011/03/03(木) 18:46:49.79
なんだこのスレ

765 :デフォルトの名無しさん:2011/03/03(木) 22:12:20.84
>>762
お前はその中でも最高クラスのうんこ製造専用機だもんな!

766 :デフォルトの名無しさん:2011/03/04(金) 11:42:29.26
お前等のうんこってただ臭くて汚いだけだろ
俺はコーン入りうんことかも製造できっし

767 :デフォルトの名無しさん:2011/03/04(金) 18:46:38.73
うんこを綺麗に拭かないでいると
おしりの穴にカビが生えて痒いよ

768 :デフォルトの名無しさん:2011/03/04(金) 18:50:54.35
流れない水は腐る
うんこをし続ければいいんです

769 :デフォルトの名無しさん:2011/03/04(金) 19:35:15.50
http://codepad.org/C1ZpWy6M
上は猫win第2版のサンプルプログラムなのですが
以下のエラーが出て実行できません。

d:\マイドキュメント\visual studio 2010\projects\sample01\sample01\sample01.cpp(58): error C2440: '=' : 'LPCSTR' から 'LPCWSTR' に変換できません。
d:\マイドキュメント\visual studio 2010\projects\sample01\sample01\sample01.cpp(85): error C2664: 'CreateWindowExW' : 2 番目の引数を 'char [9]' から 'LPCWSTR' に変換できません。


770 :デフォルトの名無しさん:2011/03/04(金) 19:40:11.22
設定でマルチバイト文字列を使うに変更

771 :デフォルトの名無しさん:2011/03/04(金) 19:42:54.80
前原外相、外国人から違法献金 政治資金規正法に抵触

 前原誠司外相は4日午後の参院予算委員会で、京都市内に住む中国籍の男性から献金を受けていたことを明らかにした。
自民党の西田昌司氏の指摘を認めた。政治資金規正法は外国人または外国法人から政治的寄付を受けることを禁じている。

http://headlines.yahoo.co.jp/hl?a=20110304-00000563-san-pol

772 :デフォルトの名無しさん:2011/03/04(金) 19:44:05.06
>>770
すいません、修正してコンパイル通るようにしたいのですが。

773 :デフォルトの名無しさん:2011/03/04(金) 19:58:24.69
>>772
いやだから設定
もっと言うとコンパイラに渡すスイッチ

774 :デフォルトの名無しさん:2011/03/04(金) 20:03:50.25
>>773
あの・・・ソースを修正したいのですが

775 :デフォルトの名無しさん:2011/03/04(金) 20:04:01.99
charをTCHARに変更
文字列は_T()で囲む
無駄なキャストは消す
こうすりゃ動くだろうが
猫は初心者には難しいと思うぞ

776 :デフォルトの名無しさん:2011/03/04(金) 20:11:59.66
だから猫で勉強しないでチャールズペゾルドのプログラミングWindowsを読めば全部解決と何回言わせる気だ!

777 :デフォルトの名無しさん:2011/03/04(金) 20:14:53.13
TCHAR は コンパイル時引き数と言うかUNICODEマクロをDEFINEすると
charでなくwchar_tを扱うプリプロセッサ型


778 :デフォルトの名無しさん:2011/03/04(金) 20:20:34.75
"プリプロセッサ型" 約 29 件 (0.15 秒)

779 :デフォルトの名無しさん:2011/03/04(金) 20:28:49.73
>>778
どうせお前等ニートなんだしこういう時くらい人に役にたてよ
そのチャンスを与えてやったのに役にたってねーんだもん
ゴミが・・・

780 :デフォルトの名無しさん:2011/03/04(金) 20:29:04.61
いや別にそういう型があるわけじゃなく

781 :デフォルトの名無しさん:2011/03/04(金) 20:50:43.13
文字の指定をユニコードからマルチバイト文字に変更するのが一番簡単だと思うんだが…

782 :デフォルトの名無しさん:2011/03/04(金) 20:54:01.51
結局ユニコードにも様々な文字コードがあって
最初からMB文字でいいじゃんって気がしてならない。
特にUTF-8。お前だお前。

783 :デフォルトの名無しさん:2011/03/04(金) 21:16:33.28
>>774
#define _UNICODE_
#define __UNICODE

#include <windows.h>
より前に書け

784 :デフォルトの名無しさん:2011/03/04(金) 21:27:09.18
何この的外れ

785 :デフォルトの名無しさん:2011/03/04(金) 21:38:29.30
>>769
http://mkubara.com/index.php/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%90%E3%82%A4%E3%83%88%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E3%83%AF%E3%82%A4%E3%83%89%E6%96%87%E5%AD%97%E5%88%97
で、真ん中あたりに
「ソリューションエクスプローラのツリーからプロジェクト名を右クリックし、ポップアップメニューから『プロパティ』を選択します。」
っていう欄があるから、真似して設定してみな。

おまえさんのは、ユニコードビルドになってるんだ。マルチバイトでビルドしないかん。


786 :デフォルトの名無しさん:2011/03/04(金) 21:44:30.36
>>783
ttp://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200711/07110005.txt

787 :デフォルトの名無しさん:2011/03/04(金) 23:23:55.69
windowsプログラミングを勉強するに当たっては
1.文字コード
2.座標系(フォントサイズ、ビューポート、解像度、うんぬんかんぬん…)
の二つは Hello, Warhol! を出力した直後に勉強する必要があるくらい
Windowsでは基本的でありながら難解な問題。

788 :デフォルトの名無しさん:2011/03/05(土) 00:12:44.43
1.あるボタンを押すと1秒間の待機状態に移行する
2.待機状態の間にキーボード入力があった場合、待機状態を抜けて処理Aを実行する
3.何も起こらずに待機状態が終わった場合、処理Bを実行する

という動作を実現したいのですが、どのAPIを利用すればいいかよくわかりません。

789 :デフォルトの名無しさん:2011/03/05(土) 00:14:16.35
SetTimerとか

790 :デフォルトの名無しさん:2011/03/05(土) 00:17:44.93
タイマイベントはどうなのよ^^
あるボタンイベントで待機フラグを立てて大麻イベントをセット
WM_TIMERが呼ばれたら待機フラグをへし折って処理Bを実行。
一方、WM_KEYDOWN:が呼ばれたら待機フラグを調べて
待機フラグがオンだったときに待機フラグをへし折った上で処理Aを実行
(待機フラグがオフなら通常処理に分岐)

うわーぜんぜんオブジェクト指向じゃなーい。
でも、ペゾルドっぽいでしょ?どう?

791 :デフォルトの名無しさん:2011/03/05(土) 00:29:53.75
>>789,790
なるほど、SetTimerを利用すればいけそうですね。
迅速な回答ありがとうございました。

792 :デフォルトの名無しさん:2011/03/05(土) 02:20:46.73
用途が分からないけれど、場合によってはそれではまずいことがあるから注意してね。
例えば、キーボード入力を舞っているところで、イベントがバンバン飛んできたら
(例えばマウスを動かし続けるとか)それが終わるまでBには分岐しない。

793 :デフォルトの名無しさん:2011/03/05(土) 06:22:15.34
>>787
おまえが馬鹿で難解だったからって
他人もそうだと思うなよ

794 :デフォルトの名無しさん:2011/03/05(土) 11:37:31.84
しかし文字列関係が面倒なのは本当だ

795 :デフォルトの名無しさん:2011/03/05(土) 11:48:08.90
widecharはオワコン

796 :デフォルトの名無しさん:2011/03/05(土) 13:47:20.34
ドトネトですべて解決

797 :デフォルトの名無しさん:2011/03/05(土) 14:03:11.55
windowsが死滅しても生き残りますか?

798 :デフォルトの名無しさん:2011/03/05(土) 14:19:11.84
>>797
No

799 :デフォルトの名無しさん:2011/03/05(土) 16:04:16.91
WINDOWSは永遠です

800 :デフォルトの名無しさん:2011/03/05(土) 16:55:56.82
GetWindowsRectとSetCursorPosの座標系でよく混乱します

801 :デフォルトの名無しさん:2011/03/05(土) 21:29:06.63
どっちもin screen coordinatesじゃないのん?

802 :デフォルトの名無しさん:2011/03/05(土) 22:09:36.91
>>793
おまえ、ペゾルド先生ですら教科書の中で「難解」と書いているというのに…

803 :デフォルトの名無しさん:2011/03/06(日) 01:04:10.14
>>802
わざわざこんなところで自らの読解力の無さを露呈しなくても…

804 :デフォルトの名無しさん:2011/03/06(日) 01:46:46.14
死ねばいいのに^^ リアルに。

805 :デフォルトの名無しさん:2011/03/06(日) 02:58:15.54
804さんのご冥福をお祈りします

806 :デフォルトの名無しさん:2011/03/06(日) 03:07:17.76
「夏のラ王」、決め手はキムチスープ
2011/3/ 5 18:17
http://www.j-cast.com/mono/images/2011/mono87588_pho01.jpg
日清食品は、夏季限定商品「夏のラ王 キムチラーメン100+ 件」を2011年5月1日から販売する。
特長は、つるみが自慢の生タイプめんに、辛味と酸味のきいたコクのあるキムチスープ。たっぷり
のキムチ・ニラ・白ねぎ・ガーリック、ごまが具材として入っており、食欲旺盛な夏場でも、しっかり
おなかにたまる商品になっている。
価格は200円。
http://www.j-cast.com/mono/2011/03/05087588.html



基地外かよ

807 :デフォルトの名無しさん:2011/03/06(日) 03:12:25.27
>>805
804さんが天国で幸せになれるといいですね

808 :デフォルトの名無しさん:2011/03/06(日) 03:13:29.17
俺も最近
日清の様子が変だと思ってたがやっぱりバカチョン化してたか
とっとと潰れろ糞企業


809 :デフォルトの名無しさん:2011/03/06(日) 03:18:15.79
ぶりぃくの下着でも狙ってんの?

810 :デフォルトの名無しさん:2011/03/06(日) 13:55:15.21
SetKeyboardStateを他のプロセスに対して設定したいんですができます?

811 :デフォルトの名無しさん:2011/03/06(日) 14:21:38.21
SetKeyboardStateはそういった用途の関数ではないので無理です
Send/PostMessage,SendInput,Imm...などを使ってください

812 :デフォルトの名無しさん:2011/03/06(日) 14:50:47.89
SendInputで他のプロセスだけに送る事ってできますでしょうか?

813 :デフォルトの名無しさん:2011/03/06(日) 21:50:09.89
通報しました

814 :デフォルトの名無しさん:2011/03/07(月) 11:54:29.29
Win32でつかるブラウザエンジンって、IEコンポーネントしかないんですか?
IEコンポーネントをATLで使う方法は書籍でしったのですが、できれば他のを使いたいんです。



815 :デフォルトの名無しさん:2011/03/07(月) 12:04:13.94
別にgeckoでもwebkitでも好きなの使えばいいよ

816 :814:2011/03/07(月) 12:05:29.67
>>815
あ、使えるんですか?どうもありがとう。
色々、ググッてたんですが、中々でてこなくて・・

やってみます。ありがとうございました。

817 :デフォルトの名無しさん:2011/03/09(水) 15:51:06.22
APIとブラウザエンジンに何の関係が

818 :デフォルトの名無しさん:2011/03/09(水) 18:28:50.26
Windowsのサービスプログラムについて質問があります。
通常、起動中のSystem権限(ローカルシステムアカウント)で動作しているサービスプログラムを止めずに
ユーザー指定のアカウントに変更することは可能でしょうか?

またその逆で、ユーザ指定のアカウントからローカルシステムアカウントへ戻すことも可能でしょうか?


819 :デフォルトの名無しさん:2011/03/09(水) 18:32:11.89
それ出来たらこわくね

820 :818 :2011/03/09(水) 18:40:45.12
>> 819
アカウント変更は、サービスプログラム自身が行うということです。
たとえば、クライアント(ユーザ側のアプリ)からメッセージを受けて自分自身のアカウントを動的に変更する。
こういうことをしたいと思っています。

無理なのかな?

821 :デフォルトの名無しさん:2011/03/09(水) 18:44:50.81
できない

822 :デフォルトの名無しさん:2011/03/09(水) 18:55:23.30
前もってパスワード与えておけば可能。

823 :デフォルトの名無しさん:2011/03/09(水) 19:06:56.95
suid

824 :デフォルトの名無しさん:2011/03/09(水) 23:39:00.46
TranslateMessageを書かないと、WM_CHARメッセージはこないのですか?

825 :デフォルトの名無しさん:2011/03/10(木) 09:40:19.53
キーボードのキー(と言うか各ボタンスイッチ)の状態が WM_KEYDOWN で飛んできてて、
それを各キートップに印刷してあるASCII文字に翻訳(Translate)して受けとる際に使うのが WM_CHAR
じゃなかったか。 だから、書かないと来ないと言うより、受け取りたいなら翻訳させる、みたいな


826 :824:2011/03/10(木) 11:40:14.24
>>825
なるほど。受け取りたいなら、翻訳させるんですね。

このTranslateMessageについては、書籍やらネットでググッて見ても中々しっかり書いてあるところが
みつかりません・・ ですので、苦労していました。

おかげさまで、ようやくなんとかわかりました。どうもありがとうございます。

Win32APIは古いせいか情報がすくないですね(;´д`)

827 :デフォルトの名無しさん:2011/03/10(木) 14:18:59.79
MSDNくらい読めよw
てか、絶対ググってないだろwww

828 :デフォルトの名無しさん:2011/03/10(木) 15:53:10.47
「翻訳」じゃなくて「変換」でぐぐった方が沢山出る


829 :デフォルトの名無しさん:2011/03/10(木) 18:34:19.69
>>826
Win32APIなんて昔から広く普及してて、かなり情報が蓄積されてる
部類だと思うんだが

830 :デフォルトの名無しさん:2011/03/10(木) 19:14:14.17
どんな理由で情報少ないなんて思ったのか謎
関数名でググるだけでもMSDN筆頭にいくらでも出てくるのに

831 :デフォルトの名無しさん:2011/03/10(木) 19:16:02.86
情報量は確かに多いが、嘘もこれまた多いからなぁ
MSDNの日本語版からしてアレだし

832 :デフォルトの名無しさん:2011/03/10(木) 19:26:06.63
そう言えば日本語版MSDNのアレな所って、みんなどこまで把握してるんだろう、具体的に。

俺が知ってる明らかな嘘は2つあって1つは忘れたが、もう一つはXAudioのスタティックライブラリ名かな。
他は嘘と言うより、記述漏れ。 関数名GetLastErrorが書かれてなくて、関数を使いますとしか書かれてない所
あと見ないと思い出せない

833 :デフォルトの名無しさん:2011/03/10(木) 19:28:54.27
GetLastErrorに限らず、関数名が入る場所は全部脱落してる気がする

834 :デフォルトの名無しさん:2011/03/10(木) 19:42:00.27
箱入りのVC++にはWIN32の分厚い関数辞書がついてくるが、そっちにはちゃんと書いてあった気がする
読み直さないとあれだけど

835 :デフォルトの名無しさん:2011/03/10(木) 19:56:01.74
なんかゴミが必死になってるなw

836 :デフォルトの名無しさん:2011/03/10(木) 20:09:58.08
VC6のラーニングはAPIの辞書とASCIIの入門本でかなり分厚かったな

837 :デフォルトの名無しさん:2011/03/10(木) 20:54:28.62
被害者は頭部をVC++で数回殴られたそうです


838 :デフォルトの名無しさん:2011/03/10(木) 22:01:31.77
>>832
EnumWindowだかEnumChildWindowだかの
戻り値のfalse/trueの説明が
日本語版だけまるっきり逆だった希ガス

839 :デフォルトの名無しさん:2011/03/10(木) 22:02:48.07
>>833
英語版だと末尾に関連する関数一覧とか出るんだけど
日本語版の方は何も出なかったり全然違うのが出てたり

840 :デフォルトの名無しさん:2011/03/10(木) 22:09:45.94
嘘ってわけじゃないけど
IDXGISurface::マップ
とか酷い

841 :デフォルトの名無しさん:2011/03/11(金) 04:38:25.14
【土肥氏会見詳報】(3)「国益くぐり抜けて韓国と対話を」


 −−「国家を背負ったという意識がなかったのが今回の問題を引き起こした」と発言したが、であれば、
本来であれば国家を背負うべき立場の国会議員の職を辞するべきではないか

 「見解の分かれるところだ。私はなお、韓国のために、これまでやってきた11年の経験の上で良き日韓関係が結ばれれば、
それにまさる望みはないと思っているから」
http://sankei.jp.msn.com/politics/news/110310/stt11031023250013-n1.htm



【土肥氏会見詳報】(1)「大騒ぎになると思わなかった」
http://sankei.jp.msn.com/politics/news/110310/stt11031022330010-n1.htm
【土肥氏会見詳報】(2)「宣言撤回を申し入れたが…」
http://sankei.jp.msn.com/politics/news/110310/stt11031023220012-n1.htm
【土肥氏会見詳報】(4完)「だまし討ちではない。ある種『韓流』だ」
http://sankei.jp.msn.com/politics/news/110310/stt11031023270014-n1.htm

842 :デフォルトの名無しさん:2011/03/11(金) 05:26:23.78


にほんのしくみ

   ┌──────┐        ┌──────┐
 ┌┤  日本国民  ├─投票→│どっかの政党 │←┐
 │└──────┘        └─┬─┬──┘  │
 │      ↑       機密費 会食  │ 参政権   献金
 │..  世論誘導 ┌─報道管制──┘生活保護 選挙協力
 │マインドコントロール.↓             ↓        │
 │┌──┴───┐出資投資┌──────┐  │
 ││  マスコミ  │←[電通] ┤ 在日朝鮮人 ├─┘
 │└──────┘ 工作員 └──────┘
 │                       ↑
 └───パチンコ 韓流ブーム ───┘

843 :デフォルトの名無しさん:2011/03/11(金) 09:05:45.31
スレ違いだボケ
http://hibari.2ch.net/test/read.cgi/tech/1296987433/

844 :デフォルトの名無しさん:2011/03/11(金) 11:11:33.17
外字登録するAPI教えて

845 :デフォルトの名無しさん:2011/03/11(金) 17:53:30.76
地震のときはどのスレで地震の話しても良いんだぜ
むしろ、しろって運営の方針

303 名前:FOX ★ 投稿日:04/10/23 19:50:30 ID:???
地震のときは・・・
あちこちで実況しろって言ってんだろ、昔から、

846 :デフォルトの名無しさん:2011/03/11(金) 18:55:47.52
じゃあ

double GetMagnitude()

この関数の引数をみんなで考えよう。

847 :デフォルトの名無しさん:2011/03/11(金) 22:53:33.18
double GetMagnitude(long long count_of_death)

848 :デフォルトの名無しさん:2011/03/12(土) 03:21:46.93
拡散依頼 SOS 閖上小・中学校より 閖上小学校、中学校にはやく救助隊を呼んで頂きたい。食料も防寒具もなく、老人及び幼 児はとても衰弱している。トイレも使えず不衛生。病気が蔓延する可能性あり。心肺停止 の老人もいる。助けてほしい。

宮城県名取市 名取市立閖上小学校

849 :デフォルトの名無しさん:2011/03/12(土) 08:46:11.11
Win32APIでなんとかしろっていわれてもなぁ

850 :デフォルトの名無しさん:2011/03/12(土) 09:32:26.73
自信なくなっちゃうよな

851 :デフォルトの名無しさん:2011/03/12(土) 10:13:48.32
>>848
そのご要望には、インシデントを一つ消費しますがよろしいですか?

852 :デフォルトの名無しさん:2011/03/13(日) 16:15:41.09
http://live2.ch/jlab-fat/s/fat1299953903382.jpg
れんほー『津波なんて実際に来るまでに時間差があるからその時間でできる対応をすれば済むこと』
れんほー『明日来るのか100年後に来るのか200年後に来るのか来ないのかわからない対策費を使うのは無駄遣い』

853 :デフォルトの名無しさん:2011/03/13(日) 22:48:17.98
誘導されました

自作プログラムにマウスが操作されているかのように思わせる
(実際のポインタは移動してなくてもが移動したときの処理をさせたり、クリックされてなくてもクリックされたときの処理をさせたり)
にはどうすればいいですか?

854 : [―{}@{}@{}-] デフォルトの名無しさん:2011/03/13(日) 22:58:23.17
イベントを送ればいい

win32api直でやるよりJavaのRobotクラスを使うほうが楽だよ

855 :デフォルトの名無しさん:2011/03/13(日) 23:04:01.37
SendInput

856 :デフォルトの名無しさん:2011/03/13(日) 23:26:31.35
ありがとうございます
調べてみます

857 :デフォルトの名無しさん:2011/03/14(月) 01:15:37.72
win32APIのスレなのに何故最初に SendMessageとか
あるいは別プロセスのアプリケーションに送りたいって話ならグローバルフックとか
そっちの話が真っ先に出ないのか不思議

858 :デフォルトの名無しさん:2011/03/14(月) 09:22:46.70
自作プログラムならクリック時にプログラムのどの部分でどう反応してるかソース見れば分かるはずだが


859 :デフォルトの名無しさん:2011/03/14(月) 12:38:22.38
通報しますた

860 :デフォルトの名無しさん:2011/03/14(月) 13:07:53.72
ポインタが移動したときの処理();

クリックされたときの処理();

861 :デフォルトの名無しさん:2011/03/14(月) 23:07:38.75
WINAPI勉強してるんだけど関数とか多くて覚えれる気しないんですけど

862 :デフォルトの名無しさん:2011/03/14(月) 23:09:49.63
勉強して覚える物じゃなくて、必要な時に必要などれかを使うだけ


863 :デフォルトの名無しさん:2011/03/15(火) 01:13:40.51
関数を覚えるんじゃなくて
どんなコンポーネントがあって
そいつらがどんなメッセージを受けて
どんなメッセージを吐くか
振る舞いに注目すればいい

864 :デフォルトの名無しさん:2011/03/15(火) 08:13:50.27
いいや覚えろよ
オフラインで紙上ビルドできるくらいに


865 :デフォルトの名無しさん:2011/03/15(火) 16:53:30.09
Windows7 のエクスプローラーのように、
透明なヘッダーコントロールを持つリストビューを作るにはどうすればいいですか

866 :デフォルトの名無しさん:2011/03/15(火) 17:12:37.86
自作

867 :デフォルトの名無しさん:2011/03/15(火) 17:29:43.81
Spy++でみてみりゃ分かるが、7のエクスプローラの右ペインは
SysListView32じゃなくて、非公開のDirectUIHWndとかいうやつになってる

だからそのものズバリは作れないし、エクスプローラのUIを弄るのも
困難になっているものと思われ


868 :デフォルトの名無しさん:2011/03/15(火) 18:56:07.81
思われとか10年ぶりに聞いたわ

869 :デフォルトの名無しさん:2011/03/15(火) 19:11:36.38
懲役にでも行ってたの?

870 :デフォルトの名無しさん:2011/03/15(火) 19:26:59.51
>>868
出所おめでとう

871 :デフォルトの名無しさん:2011/03/15(火) 19:29:51.41
>>868
いや、もう10年くらい入所してろ

872 :デフォルトの名無しさん:2011/03/15(火) 19:52:35.38
>>868
逝ってよし

873 :デフォルトの名無しさん:2011/03/15(火) 20:19:10.50
>>868
Win32API監獄にようこそ

874 :デフォルトの名無しさん:2011/03/15(火) 20:47:18.43
>>868
氏ね

875 :デフォルトの名無しさん:2011/03/15(火) 21:33:16.53
>>874
死ね

876 :デフォルトの名無しさん:2011/03/15(火) 21:43:00.09
>>868
漏レはしょっちゅうたまに使うYO
テラワロスw







無理がありますか

877 :デフォルトの名無しさん:2011/03/16(水) 01:28:30.26
Win32APIで作ったアプリは64ビットOSで動きますか?
初心者な質問すいません。

878 :デフォルトの名無しさん:2011/03/16(水) 01:51:10.65
利用できるAPIを利用できる方法で使っている限り、通常は実行できる。

879 :デフォルトの名無しさん:2011/03/16(水) 04:49:22.35
質問いいですか

int GetOpenFile( char* _src )
{
static TCHAR _strFile[MAX_PATH];

_OpenFile.lStructSize = sizeof (OPENFILENAME);
_OpenFile.hwndOwner = hWnd;
_OpenFile.lpstrFilter =
TEXT("Video files {*.avi, .wmv, .mp4, .mkv, .mpeg, .mpg }\0*.avi;*.wmv;*.mp4;*.mkv;*.mpeg;*.mpg*\0")
TEXT("Audio Files {*.wav, .mp3, .mp4}\0*.wav;*.mp3;*.mp4\0\0");
_OpenFile.nMaxCustFilter = 256;
_OpenFile.lpstrFile = _strFile;
_OpenFile.nMaxFile = MAX_PATH;
_OpenFile.Flags = ( OFN_FILEMUSTEXIST | OFN_EXPLORER | OFN_NONETWORKBUTTON ) ;

if( GetOpenFileName( &_OpenFile ) == 0 ) return false;
else{ strcpy( _src, _strFile ); return true; }
}

という感じでファイルを開くダイアログを作ったのですが
マイコンピュータでドライバが表示されません。
また更新(F5)をするとファイルが総て表示されなくなります。
これを直すにはどうしたらよいのでしょうか?

880 :デフォルトの名無しさん:2011/03/16(水) 06:20:12.48
>>879
俺のWin7ではそのまま実行させると一般保護例外で落ちるんだが

ZeroMemory(&_strFile, sizeof(_strFile));
ZeroMemory(&_OpenFile, sizeof(_OpenFile));
これでどう?

881 :デフォルトの名無しさん:2011/03/16(水) 10:09:22.68
>>879
パッと見で分かるのは
引数のchar* _srcと最後のstrcpy()が駄目ということ

そのようにTCHARとcharを混ぜて使っているサンプルをどこかで見たのなら
窓から投げ捨てたほうがいい


882 :デフォルトの名無しさん:2011/03/16(水) 11:21:22.85
>>880
やってみたのですが、やはり同じようにおきました。

>>881
あぁ申し訳ないです。
寝オチ寸前に書いていて、後々見たときに修正していました。


883 :デフォルトの名無しさん:2011/03/16(水) 14:03:18.92
OFN_EXPLORER 0x00080000
中略
By default, the Open and Save As dialog boxes
use the Explorer-style user interface regardless of whether this flag is set.
This flag is necessary only if you provide a hook procedure or
custom template, or set the OFN_ALLOWMULTISELECT flag.

アンダースコアで始まる識別子はry

884 :デフォルトの名無しさん:2011/03/16(水) 14:55:14.01
Win128APIはまだ出ませんか

885 :デフォルトの名無しさん:2011/03/16(水) 15:56:24.63
1日目              ・・・
  . __   __          __   __   __   __
  |-....-|. .|-....-|        | l::::l |. .| l l│ | l l│. .| l l│
  ┷┷┷ ┷┷┷        ┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷
  6号機 5号機       1号機 2号機 3号機  4号機

2日目
     パチッ           /|          ・・・
  . __   __.       |/.__ 煤Q_   __ 煤Q_
  | l l│ | l l│  ハーイ>ヽ| l l│ |l l ..;.|. .| l;;;;l |.. ..|l l.;|.
  ┷┷┷ ┷┷┷        .┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷
  6号機 5号機         1号機 2号機 3号機  4号機

3日目                      \ ハーイ /
                   /|      ・・・      ☆  ガッ
  . __   __         |/ __   __   __ ヽ./|___
  |.;..l l|. .|;.l l|      .ヽ| l l│ | l::::l | |l l |/|/ x x;|
  ┷┷┷ ┷┷┷      .┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷
  6号機 5号機         1号機 2号機 3号機  4号機

4日目                  \ ハーイ /     \ ファイ /
   ・・・   ・・・        /|    ./|     /|          人                 ノ~~~\ ・・・。
  . __   __.       |/ __ |/ __ |/ __   __(()) 〜〜放射能 ,,,,,,/ l::::l  \,,,,,,,,,,
  | l::::l |. .| l::::l |         ヽ| l l│ヽ| l l│ヽ| l l│. .| l l│
  ┷┷┷ ┷┷┷      .┷┷┷..┷┷┷..┷┷┷ ┷┷┷
  6号機 5号機         1号機 2号機 3号機  4号機


886 :デフォルトの名無しさん:2011/03/16(水) 16:47:33.91
APICがカウントする
アンダーフローしたら割り込みを発する
割り込み受け取ったCPUがおっきさせる
実に簡単なことだが、それをWindowsでやろうとするとカーネル側のドライバが要る。


ほいで、俺ナノセカンドオーダーのカウント取りたいのよ。

・ドライバなしで (ゲームでドライバ必須とは何事だ!って却下されるから)
・ナノセカンドウェイト取得


なんとかなんね??
このままではLinux以外に持ってけない。

887 :デフォルトの名無しさん:2011/03/16(水) 17:01:54.93
ナノセカンドは諦めろ

888 :デフォルトの名無しさん:2011/03/16(水) 17:07:04.32
メジでっ!?

889 :デフォルトの名無しさん:2011/03/16(水) 18:50:05.24
ナノセカンドが必要な設計が間違ってる
WindowsはリアルタイムOSではない

890 :デフォルトの名無しさん:2011/03/16(水) 19:09:42.64
なんでゲームでusecウェイトが必要なのかさっぱりわからんけど
必要なんだったらドライバ書けばいいじゃねえか

却下されるって、他に方法がないなら説得できない方が無能だろ

891 :デフォルトの名無しさん:2011/03/16(水) 19:11:00.63
>>886
情弱ばかりで幻滅
つ RDTSC

892 :デフォルトの名無しさん:2011/03/16(水) 19:17:58.70
補足してやんよ
QueryPerformanceCounterで1秒間を数えて
1秒間にRDTSCがどんだけ進むかを数えることでナノオーダーが算出できる。

報酬は妹か20代までのお姉さんがいたら紹介しろ

893 :デフォルトの名無しさん:2011/03/16(水) 19:18:43.73
そんな自身満々で非推奨のカウンタ持ち出されても...

894 :デフォルトの名無しさん:2011/03/16(水) 19:19:09.16
最近はマルチコアがデフォだから
SetThreadAffinityMaskも忘れんなよ。

お前ら3年はROMしてろよ情弱w >>887 >>889 >>890


895 :デフォルトの名無しさん:2011/03/16(水) 19:20:04.43
>>893
ププだっせぇw
必死こいてたった今ぐぐったろお前?「RDTSC」ってググったろ?wwww超ウケるww

896 :デフォルトの名無しさん:2011/03/16(水) 19:23:00.04
俺なんかしがない地方の市役所なのに
そんな俺よりスキルないとかもう福島で原発特攻隊に志願してこいよ。ゴミ。
ま、世の中お前ら程度で十分なんだよなぁ・・・w

897 :デフォルトの名無しさん:2011/03/16(水) 19:24:29.25
ニートに朗報キタ━━━━(゚∀゚)━━━━!!

http://job.j-sen.jp/hellowork/job_3373229/

募集職種 作業員(福島第1・第2原発)
整理番号 07120-00584811
仕事内容 *原子力発電所内の定期検査・機械・電気・鍛冶溶接及び足場作業
雇用形態 正社員以外
勤務地(住所) 福島県双葉郡楢葉町 福島県双葉郡大熊町
最寄駅 未登録 勤務時間 1)08:00〜17:00
給与 日給  9,000円〜11,000円
a 基本給(月額平均)又は時間額189,000円〜231,000円
b 定額的に支払われる手当 a + b 189,000円〜231,000円
c その他の手当等付記事項 皆勤手当 8,000円 休日・休暇 休日: 土 日 祝
週休:毎週 年間休日:113日
募集年齢 不問 応募資格 不問 特徴 学歴不問 年齢不問
通勤手当あり 各種保険あり マイカー通勤可能
スキル・経験 不問 育児休暇取得実績 無 通勤手当 支給なし
雇用期間 雇用期間の定めあり(4ヶ月以上) 又は12ヶ月 契約更新の可能性の有無 あり 求人条件にかかる特記事項 ・増員募集・正社員登用への可能性あり
賃金〆切末日、支払い翌月末となります。報

会社名称 株式会社高山総業 本社所在地 〒975-0056 福島県南相馬市原町区鶴谷字南谷地152
従業員数 当事業所10人 (うち女性1人)
企業全体10人 事業内容 発電所関係の建設及び設備メンテナンス業務並びに一般建築業務、土木工事業務と農業代行請負等

これは、いまどきにしては好条件じゃないかwww

898 :デフォルトの名無しさん:2011/03/16(水) 19:27:42.76
んで、前に他スレで暴れてたのと同一だろうけど
>>886はカウンタ取得できるだけでよかったんだっけ?

899 :デフォルトの名無しさん:2011/03/16(水) 19:31:56.39
TSC読みはダメだろ

どのコアのTSC読むかが把握できねえ。

900 :デフォルトの名無しさん:2011/03/16(水) 19:33:52.59
雑魚のクセに回答者気取り
「よかったんだっけ?(キリッ」
>>899 情弱はこれだからwwww
>>894を1048576回写経するまでROMしてろ。命令だ。

901 :デフォルトの名無しさん:2011/03/16(水) 19:34:25.89
読むコアはaffinityを指定すればいい

が、最近のCPUは動的にクロックを変更するから結局役に立たない

902 :デフォルトの名無しさん:2011/03/16(水) 19:34:37.08
アフィニティマスクなんか設定したらスレッディングがマトモにできなくなるだけだろ

903 :デフォルトの名無しさん:2011/03/16(水) 19:35:48.81
「TSCはクロック連動」のほうが遥かに多いと思うがな。
i7とかPhenomだけだろ?クロック非同期でTSCカウントアップするのは。

904 :デフォルトの名無しさん:2011/03/16(水) 19:36:01.36
雑魚どもがグーグル結果を引っさげて回答者気取りモードになってきたな
俺の回答にすべてツマってんだよゴミどもが・・・・・・・

905 :デフォルトの名無しさん:2011/03/16(水) 19:43:17.62
>>903
Pen4のConstant TSCはあの子なんのために生まれてきたの状態

906 :デフォルトの名無しさん:2011/03/16(水) 19:50:26.32
QPC != rdtsc って事もぐーぐる先生が言ってたょ!

907 :デフォルトの名無しさん:2011/03/16(水) 20:43:36.10
ていうかRDTSCは使わないだろ
ナノセカンドで管理したいのに、呼び出しに300msもかかるもん使うか?

908 :デフォルトの名無しさん:2011/03/16(水) 23:32:15.55
http://uploda.tv/jlab-live/k/s/live1300279714369.jpg
福島市 21.4

これ福島はもう逃げたほうがよくね?

909 :デフォルトの名無しさん:2011/03/16(水) 23:37:13.98
>>908
単位は?

910 :デフォルトの名無しさん:2011/03/16(水) 23:43:24.74
>>909
周りをみるかぎりμシーベルト/hourでしょ。
私なら一時避難できるのなら検討するな。仕事とかでまあ無理だろうが。政府のいうことはいまいち。

911 :デフォルトの名無しさん:2011/03/16(水) 23:48:43.69
地域によってばらつきあるけど、
平常値はおおむ ね0.05マイクロシーベルト/時程度

ここを見て
http://www.mext.go.jp/a_menu/saigaijohou/

都道府県別環境放射能水準調査結果


912 :デフォルトの名無しさん:2011/03/16(水) 23:52:08.90
2.5時間ごとに胸部x線検査1回。1日10回。1年3650回。

913 :デフォルトの名無しさん:2011/03/16(水) 23:57:12.47
それ定期健診の間接撮影の場合。小さいフィルム使うやつ。
それも嫌なので直接撮影に変えてもらってた。病院で普通の診察でやるやつ。これとは違う。

914 :デフォルトの名無しさん:2011/03/17(木) 00:14:27.11
胃透視だったら、1回4mSv だから、えーと、8日に1回か。いやだな。

915 :デフォルトの名無しさん:2011/03/17(木) 00:15:58.67
マイクロなら問題ないっしょ。
これがミリに単位になるとやばいはず。
フォロよろ

916 :デフォルトの名無しさん:2011/03/17(木) 00:28:39.74
>>915
政府はそういっている

917 :デフォルトの名無しさん:2011/03/17(木) 00:32:38.44
>>915
この線量が2日続いたら福島はミリ単位だな……。

918 :デフォルトの名無しさん:2011/03/17(木) 00:37:54.38
すいません。
Win32APIを使うメリットってなんでしょうか?
GUIアプリを作るならC#が簡単と聞いたのですが

919 :デフォルトの名無しさん:2011/03/17(木) 00:51:17.45
C#でも結局pinvokeでWin32API使うんだから比較できないよ

920 :デフォルトの名無しさん:2011/03/17(木) 00:55:26.89
x線検査と比べてなんて説明はおかしいよな。/hourが抜けてる。単位が違うものを比較すんな。

921 :デフォルトの名無しさん:2011/03/17(木) 01:06:09.31
>>920
いや、計算はあってる。/hour はいらない。放射能はあびただけ副作用が蓄積されると考える。
21.7μSv/hour を 1ヶ月(で収束すればいいが‥)あび続けたとしたら 15mSv 分のダメージが体に残る。

922 :デフォルトの名無しさん:2011/03/17(木) 01:48:20.26
>>921
そこはやっぱ足し算になるのか?
なるんだろうなぁ。

923 :デフォルトの名無しさん:2011/03/17(木) 03:51:21.89
ダメージだから積分で遭ってる

924 :デフォルトの名無しさん:2011/03/17(木) 03:56:18.22
・・・・・ん? スレ間違ったかな

925 :デフォルトの名無しさん:2011/03/17(木) 05:49:04.01
地方奴隷のRDTSCさんが無視されてかわいそうです

926 :デフォルトの名無しさん:2011/03/17(木) 05:53:06.04
ttp://www.spiegel.de/images/image-191816-galleryV9-nhjp.gif

927 :デフォルトの名無しさん:2011/03/17(木) 08:05:21.50
>>926
なんでシュピーゲルさんとかはこういうのあるのに
日本のマスゴミさんは出してこないの

928 :デフォルトの名無しさん:2011/03/17(木) 09:59:17.82
hint
  理系離れ

929 :デフォルトの名無しさん:2011/03/17(木) 13:43:15.65
>>926
うわー関東にきてんじゃん。
頑張れ偏西風

930 :デフォルトの名無しさん:2011/03/17(木) 17:35:06.90
x線検査は残らないがセシウムは半減期30年だからな

931 :デフォルトの名無しさん:2011/03/17(木) 20:14:46.73
あるスレッドでCoTaskMemAlloc()なりIMalloc::Alloc()で確保したメモリを
他のスレッドで解放することはできるのでしょうか。
まあ最悪でも、元のスレッドで解放するように工夫すればよいのですが……

932 :デフォルトの名無しさん:2011/03/17(木) 20:17:32.24
別スレッド別にかまわんと思うが

933 :931:2011/03/17(木) 20:21:58.01
>>932
ありがとうございます。普通に考えたらそうですよね。
COMで使用するとはいえメモリ領域自体は単なるメモリ領域ですから、
確実に使い終わってさえいれば、別スレッドで解放できない理由も思い当たりません。

934 :デフォルトの名無しさん:2011/03/17(木) 21:12:31.26
どっからでも見えるからメモリとして確保できてるわけでして。



935 :デフォルトの名無しさん:2011/03/18(金) 23:09:50.87
だが理想論としては、「どこからでも確保・解放される」ってのはよくはない。

うっかりするとダブルfree(delete)しかねない。

936 :デフォルトの名無しさん:2011/03/18(金) 23:30:09.20
二重解放してもいいじゃない
にんげんだもの

937 :デフォルトの名無しさん:2011/03/19(土) 00:16:54.35
NULL Pはdeleteしても無害なのはみんな知ってる。

938 :デフォルトの名無しさん:2011/03/19(土) 08:49:53.63
解放してもポインタがNULLになるとは限らないって話だろ

939 :デフォルトの名無しさん:2011/03/19(土) 09:07:14.07
じゃあ解放したときにNULLにするようにすればいいだけの話

940 :デフォルトの名無しさん:2011/03/19(土) 10:55:53.94
NULL の delete は落ちる環境があるので、結局事前チェックはかかせないだろ。

941 :デフォルトの名無しさん:2011/03/19(土) 11:14:48.81
どういうクソ環境だ、それ。

942 :デフォルトの名無しさん:2011/03/19(土) 13:37:08.70
デバッグbuildだと例外吐いて落ちるが
リリースbuildだとそのまま動き続けるんだっけ

943 :デフォルトの名無しさん:2011/03/19(土) 13:40:09.27
んな馬鹿な

944 :デフォルトの名無しさん:2011/03/19(土) 14:00:35.60
どちらにせよそんなコードは糞

945 : [―{}@{}@{}-] デフォルトの名無しさん:2011/03/19(土) 14:27:03.31
ポインタにNULLを入れて何回でもdeleteしてやる

946 :デフォルトの名無しさん:2011/03/19(土) 14:49:03.42
どう考えても deleteの実装者は
if(!p)return;
ってやると思うんですけどぉ。

947 :デフォルトの名無しさん:2011/03/19(土) 15:32:35.33
NULLへのdeleteは安全が保障されてるだろ

948 :デフォルトの名無しさん:2011/03/19(土) 17:51:54.70
んな馬鹿な

949 :デフォルトの名無しさん:2011/03/19(土) 18:00:15.58
deleteもfreeも保証されてるだろバカ
されてないのはHeapFreeだけだ

950 :デフォルトの名無しさん:2011/03/19(土) 19:54:25.78
米軍のブリーフィングの様子をTV中継でやっていたけど、すごかった。

司令官「これから我々の行くところは、決してグランド・キャニオンのハイキング・コースではない!
     ましてや、サンタ・モニカビーチへサーフィンをしに行くわけでもない!」
兵士「イエッサー!」
司令官「これから行くところは、放射能渦巻くフクシマビーチだ!
     現在、我々が1年間で浴びる量の放射線を3時間で浴びることになる!怖いか! ジョージ!」
ジョージ二等兵「ノー! 大変お得でありマース!」
司令官「そして、その向こうに鎮座ましましているのはメルトダウン寸前の原子炉だ!怖いか! マイク!」
マイク二等兵「ノー! 自分はキャンプファイヤーで焦がしたマシュマロの方が怖いデース!」
司令官「メルトダウンしたら、あの『チャイナ・シンドローム』が目の前で起きることになる!怖いか! フィリップ!」
フィリップ「ノー! 自分は、チャイナ・タウンのチョップ・スティックの方が怖いでありマース!」
司令官「メルトダウンが起きたら、我らが同盟国ジャパンは滅亡の危機に陥る!そうなってもいいのか! ビリー!」
ビリー「ノー! マギカの続きが見れなくなるのは正義がゆるしまセーン!」
司令官「OH・・・、マギカか・・・。俺の頃はスピード・レーサーだったがな・・・
     よし、この作戦が終わったらみんなでマギカの鑑賞会だ!」
ビリー「イエッサー! その時は、わたくしめがアキバを案内しマース!」

951 :デフォルトの名無しさん:2011/03/19(土) 20:32:21.20
a = b;
...
delete b;
b = NULL; // これでもう安心
...
delete a; // あれ?

952 :デフォルトの名無しさん:2011/03/19(土) 20:45:45.32
>>951
そういう事する奴いるのか?

953 :デフォルトの名無しさん:2011/03/19(土) 21:24:56.68
単なるバグというかヘボというか意味不明というか
知るかぼけぇというか

954 :デフォルトの名無しさん:2011/03/19(土) 21:30:51.91
今時のC++で自分でdeleteする必要が生じたらなにか間違っていると思え。

955 :デフォルトの名無しさん:2011/03/19(土) 22:00:35.22
freeなら、ラップしてNULLを入れるAPI化しておいてもいいが、
それやると怒られることもある

いまだに理由が分からないが。

956 :デフォルトの名無しさん:2011/03/19(土) 23:38:02.87
デバッグ時には、自力で new をオーバーロードするなり malloc() をラップするなりして、ゲットしたポインタをリストに溜め込んで、free() / delete 時にはいちいちなめてチェックするのが、あるいみ手っ取りばやいかも。

957 :デフォルトの名無しさん:2011/03/19(土) 23:56:20.40
template<typename T>
class Hoge {
 T *p;
public:
 Hoge(size_t size) { p = new T[size]; }
 ~Hoge() { if(p) { delete [] p; p = NULL; } }
 T& operator[](size_t index) { return p[index]; }
};

例えばこんな感じのスマポクラス作っておくとかは、場合によってはたまにする。
一応書いておくと、この例だとコピーの時アレだけど。 あるいは boost::shared_ptr



958 :デフォルトの名無しさん:2011/03/20(日) 08:18:10.42
東日本大震災(東北関東大震災)への、日本ユニセフ協会ならびにユニセフの対応について

「ユニセフによる日本への支援は、第2次世界大戦直後の昭和24年に始まり、昭和39年に終了いたしました。
その後、日本国内では、これまでも大規模な自然災害が各地で発生しましたが、ユニセフの支援がそうした
場面で提供されることはございませんでした」

「当緊急支援に必要な資金を上回るご協力をいただいた場合(被災者の皆さまへの支援が行き届き、ユニセフと
日本ユニセフ協会が提供できる内容の支援が被災地では必要ないと判断される場合)、ユニセフが実施する他国・
地域での紛争・自然災害などによる緊急・復興支援に活用させていただくことがありますので、ご了承願います。」

http://www.unicef.or.jp/osirase/back2011/1103_12.htm


959 :デフォルトの名無しさん:2011/03/20(日) 13:18:11.66
ちょっとスレチかもしれんがSusieプラグインみたいなの作ろうと思ってるんだけど、
呼出し側からはデータサイズの不明な事もあるdll側からのデータの受け渡しはどうするのがいい?
サイズが呼出し側で必ずわかるのならあらかじめメモリ確保してポインタ渡してデータもらえば済む話なんだけど
SusieだとHLOCAL渡してプラグイン側でLocalAlloc確保、呼出し側でLocalFree開放ってやってるけどあんまよろしくないよね?

960 :デフォルトの名無しさん:2011/03/20(日) 13:25:08.54
逆になんでよろしくないと思ったの?

961 :デフォルトの名無しさん:2011/03/20(日) 13:31:25.96
確保する側と解放する側が違うというのは美しくないという見方があるな
LocalAllocならともかく、malloc/newでやったらとんでもない地雷を踏むし

962 :デフォルトの名無しさん:2011/03/20(日) 15:00:52.49
今回の震災への募金に関してはユニセフにはするなという事だ

963 :デフォルトの名無しさん:2011/03/20(日) 15:36:33.58
>959
NULLを渡すと必要領域サイズが返され、そのサイズを確保してもう一度呼び出すと、ってのが
よくある方法だね

964 :デフォルトの名無しさん:2011/03/20(日) 16:00:34.83
>>957
コンストラクタでnewに失敗ときは?
面倒だからabortさせちゃう?

965 :デフォルトの名無しさん:2011/03/20(日) 16:17:09.44
財団法人日本ユニセフ協会
「ユニセフ」という名称を含むが、国際連合児童基金 (ユニセフ) の日本事務所ではない。
日本ユニセフ協会はユニセフ本部と協力協定を結んでいる団体であり、
日本において民間人・民間団体・企業向けにユニセフを代表する唯一の組織である。
日本における民間協力の窓口として運営されている非政府組織であって、国連機関ではない。


966 :デフォルトの名無しさん:2011/03/20(日) 16:34:48.31
>>961
どんな問題があるのですか?初耳です。kwsk

967 :デフォルトの名無しさん:2011/03/20(日) 16:44:36.92
mallocやnewの実装はコンパイラ固有であってアプリの本体とプラグインは
同じコンパイラやオプションでコンパイルされてるとは限らない


968 :デフォルトの名無しさん:2011/03/20(日) 16:46:14.08
うむ。

969 :デフォルトの名無しさん:2011/03/20(日) 19:32:00.59
>>959
データサイズをポインタ渡しにしておき、不十分なサイズが渡されたら、
メモリ不足を表すエラーコードとともに必要なデータサイズを返す。

Windows で言うと GetUrlCacheEntryInfo() とか。

970 :デフォルトの名無しさん:2011/03/21(月) 00:05:14.92
>>963,969
プラグイン側から呼出し側のメモリ確保関数を呼ぶってのも考えたが、やっぱ実装例的にそんな感じかなー

971 :デフォルトの名無しさん:2011/03/21(月) 00:42:08.55
>>970
それだと呼び出し側のメモリ確保方法が限定されちゃうから嫌。
どうしてもスタックに確保したいとか、VirtualAllocじゃなきゃダメとかいう
ケースもあるのではなかろうか。
プラグインの用途にもよるけど。

972 :デフォルトの名無しさん:2011/03/21(月) 04:48:52.77
>どうしてもスタックに確保したいとか、VirtualAllocじゃなきゃダメとかいう
>ケースもあるのではなかろうか。
どんな?


973 :デフォルトの名無しさん:2011/03/21(月) 05:21:33.88
COMでラッピングでおk

974 :デフォルトの名無しさん:2011/03/21(月) 11:40:56.80
ガソリンタンクが無いならむき出しでいいじゃない
民主議員、プールにガソリン貯めろと提言

民主党・渡辺周議員
サービスステーション崩壊でガソリン運んでも貯蔵するところがない。
国対委員長の安住くん、彼も言ったんですが「学校のプールにガソリンを貯蔵できないか」と
しかし消防法上、絶対に危険だから駄目だと。
いろんな可能性を考えるんですけどね、やっぱり物理的に想像以上の被災をしていて出来ないことがある

▽YouTube ※一部抜粋、全てはソース先でご確認ください
http://www.youtube.com/watch?v=XTVwvNHdKdA

975 :デフォルトの名無しさん:2011/03/21(月) 17:14:33.44
ダメ!絶対!
爆発する


976 :デフォルトの名無しさん:2011/03/21(月) 18:51:05.46
小学生でもわかるだろ

977 :デフォルトの名無しさん:2011/03/21(月) 20:08:09.38
みんす「ガソリンをプールに貯める→周辺住民を巻き込み大爆発→結果的にガソリンがいらなくなる→解決」

978 :デフォルトの名無しさん:2011/03/21(月) 20:12:05.75
この時期ならセーター着てる奴が近づいただけで大爆発だな

979 :デフォルトの名無しさん:2011/03/22(火) 00:03:34.82
スレ違いの政治ネタに釣られるなよカスども

980 :デフォルトの名無しさん:2011/03/22(火) 03:38:33.18
地震ネタはどのスレでしてもいいっていう運営の方針なんですよおばかさん^^

981 :デフォルトの名無しさん:2011/03/22(火) 11:40:32.42

次スレは、↓でいいよね?

Win32API質問箱 Build92
http://hibari.2ch.net/test/read.cgi/tech/1293326606/


982 :デフォルトの名無しさん:2011/03/22(火) 13:20:48.23
ttp://www5.atpages.jp/kujich/upload/src/file129.jpg

983 :デフォルトの名無しさん:2011/03/22(火) 13:48:18.62
システムイメージリストのハンドル
アイコンのインデックス
オーバーレイインデックス

この3つが入手ずみの状況で
適切なアイコンオーバーレイが適用されたアイコンのハンドルを取得する方法教えてくだちい

984 :デフォルトの名無しさん:2011/03/22(火) 21:31:27.27
>981
引っ越すのは使い切ってからだがな。

985 :デフォルトの名無しさん:2011/03/22(火) 21:54:42.89
このスレかっこいいね

986 :デフォルトの名無しさん:2011/03/22(火) 21:57:12.99
「放射能 大丈夫?」っていうと
「大丈夫」っていう

「放射能 漏れてない?」っていうと
「漏れてない」っていう

「原子力って安全?」っていうと
「安全」っていう

そうしてあとで不安になって

「本当はやばいんでしょ?」ってきくと
「やばい」っていう

987 :デフォルトの名無しさん:2011/03/22(火) 22:00:09.27

原発とW32はどちらが先に死滅するでしょうか?


988 :デフォルトの名無しさん:2011/03/22(火) 22:31:01.39
スレ違いの奴らが死滅した後だな

989 :デフォルトの名無しさん:2011/03/22(火) 22:44:56.54

浜岡原発の危険を語る。1-5
http://www.youtube.com/watch?v=DHblqE6vGeI
http://www.youtube.com/watch?v=k55sJ8WljCk
http://www.youtube.com/watch?v=Ic3749gazUI
http://www.youtube.com/watch?v=IhoaHafTfWg
http://www.youtube.com/watch?v=p18qIyiNh3g

いま都内で検出されてる値はまず問題ないレベル
http://ascii.jp/elem/000/000/060/60433/index-4.html
http://strawberry-linux.com/catalog/items?code=53001
昨日の茨城の雨のあとの急上昇もほとんど問題ない
http://www.houshasen-pref-ibaraki.jp/present/result01.html
http://park30.wakwak.com/~weather/geiger_index.html
http://muraoka.a.la9.jp/
http://www.mext.go.jp/a_menu/saigaijohou/syousai/1304001.htm
http://www.mext.go.jp/a_menu/saigaijohou/syousai/1303747.htm

【東日本大震災】 親日国家の台湾がチャリティー番組で40億円の義援金→2ちゃんねる 「ありがとう台湾!」と感謝の書き込み
http://ninja.2ch.net/test/read.cgi/newsplus/1300752868/

NHK秘密兵器30キロ超望遠カメラだ!
2011.3.19 05:04
http://www.sanspo.com/shakai/news/110319/sha1103190505011-n1.htm
http://www.sanspo.com/shakai/news/110319/sha1103190505011-n2.htm

990 :デフォルトの名無しさん:2011/03/23(水) 03:25:27.59
荒らすのはやめて…

991 :デフォルトの名無しさん:2011/03/23(水) 03:27:29.02
素粒子を解析するAPIを教えてくれ

992 :デフォルトの名無しさん:2011/03/23(水) 03:28:49.67
Windows内でフーリエ変換が多用されている事は有名な話だが…

993 :デフォルトの名無しさん:2011/03/23(水) 03:30:14.67
MessageBox
MessageBoxA
MessageBoxW

どれがいちばんつおいのですか?

994 :デフォルトの名無しさん:2011/03/23(水) 03:33:12.00
>>994
MessageBeep

995 :デフォルトの名無しさん:2011/03/23(水) 03:49:57.94
一番引数の多い関数って何ですか? CreateFont(14個)?

996 :デフォルトの名無しさん:2011/03/23(水) 04:59:23.56
Ntなんとか系のAPIは多いの結構あるだろ

997 :デフォルトの名無しさん:2011/03/23(水) 05:35:27.39
引数の構造体がえぐいのもあるな

998 :デフォルトの名無しさん:2011/03/23(水) 11:31:14.08
.

999 :デフォルトの名無しさん:2011/03/23(水) 11:31:59.75
.

1000 :小倉優子 ◆YUKOH0W58Q :2011/03/23(水) 11:32:43.57
  ∧,,,∧ 
 (  ・∀・) 1000ならジュースでも飲むか
  (    ) 
  し─J 

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

197 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)