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

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

Win32API質問箱 Build71

1 :デフォルトの名無しさん:2008/10/23(木) 15:59:18
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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

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

Win32API質問箱 Build70
http://pc11.2ch.net/test/read.cgi/tech/1221446107/

2 :デフォルトの名無しさん:2008/10/23(木) 15:59:36
- MSDN ホームページ
http://www.microsoft.com/japan/msdn/
- MSDN ライブラリ
http://msdn.microsoft.com/library/
http://msdn.microsoft.com/library/ja/
- MSDN2 ライブラリ
http://msdn2.microsoft.com/en-us/library/
http://msdn2.microsoft.com/ja-jp/library/
- MSDN ライブラリ (ローカル版)
http://www.microsoft.com/downloads/details.aspx?familyid=6FF3BC60-32C8-4C22-8591-A20BF8DFF1A2&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=ja
- Windows SDK & Platform SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=74dd6e2d-89c6-4e1e-af00-fc7d70f15439&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b1e300-f358-4523-b479-f53d234cdccf&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=ff6467e6-5bba-4bf5-b562-9199be864d29&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=7614FE22-8A64-4DFB-AA0C-DB53035F40A0&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

3 :デフォルトの名無しさん:2008/10/23(木) 15:59:45
- Google
http://www.google.com/
- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
- Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
- Win32 プログラミング入門
http://www7.plala.or.jp/keny01/

- Advanced Windows (書籍)
http://www.amazon.co.jp/dp/4756138055

4 :デフォルトの名無しさん:2008/10/23(木) 16:00:06
過去ログ
69 ttp://pc11.2ch.net/test/read.cgi/tech/1217687038/
68 ttp://pc11.2ch.net/test/read.cgi/tech/1215348804/
67 ttp://pc11.2ch.net/test/read.cgi/tech/1212931246/
66 ttp://pc11.2ch.net/test/read.cgi/tech/1210775622/
65 ttp://pc11.2ch.net/test/read.cgi/tech/1208847084/
64 ttp://pc11.2ch.net/test/read.cgi/tech/1207099291/
63 ttp://pc11.2ch.net/test/read.cgi/tech/1204600558/
62 ttp://pc11.2ch.net/test/read.cgi/tech/1202060403/
61 ttp://pc11.2ch.net/test/read.cgi/tech/1199514664/
60 ttp://pc11.2ch.net/test/read.cgi/tech/1196874830/
59 ttp://pc11.2ch.net/test/read.cgi/tech/1194701996/
58 ttp://pc11.2ch.net/test/read.cgi/tech/1191781463/
57 ttp://pc11.2ch.net/test/read.cgi/tech/1189255282/
56 ttp://pc11.2ch.net/test/read.cgi/tech/1186989201/
55 ttp://pc11.2ch.net/test/read.cgi/tech/1184853465/
54 ttp://pc11.2ch.net/test/read.cgi/tech/1181645965/
53 ttp://pc11.2ch.net/test/read.cgi/tech/1178882828/
52 ttp://pc11.2ch.net/test/read.cgi/tech/1176828891/
51 ttp://pc11.2ch.net/test/read.cgi/tech/1174416295/

5 :デフォルトの名無しさん:2008/10/23(木) 16:00:19
50 ttp://pc11.2ch.net/test/read.cgi/tech/1171721448/
49 ttp://pc10.2ch.net/test/read.cgi/tech/1168708801/
48 ttp://pc10.2ch.net/test/read.cgi/tech/1166172047/
47 ttp://pc8.2ch.net/test/read.cgi/tech/1163375772/
46 ttp://pc8.2ch.net/test/read.cgi/tech/1159158014/
45 ttp://pc8.2ch.net/test/read.cgi/tech/1156032806/
44 ttp://pc8.2ch.net/test/read.cgi/tech/1151501925/
43 ttp://pc8.2ch.net/test/read.cgi/tech/1148005509/
42 ttp://pc8.2ch.net/test/read.cgi/tech/1144962549/
41 ttp://pc8.2ch.net/test/read.cgi/tech/1141392216/
40 ttp://pc8.2ch.net/test/read.cgi/tech/1138893959/
39 ttp://pc8.2ch.net/test/read.cgi/tech/1136673250/
38 ttp://pc8.2ch.net/test/read.cgi/tech/1133798345/
37 ttp://pc8.2ch.net/test/read.cgi/tech/1131884991/
36 ttp://pc8.2ch.net/test/read.cgi/tech/1128951330/
35 ttp://pc8.2ch.net/test/read.cgi/tech/1125850096/
34 ttp://pc8.2ch.net/test/read.cgi/tech/1122723009/
33 ttp://pc8.2ch.net/test/read.cgi/tech/1120153520/
32 ttp://pc8.2ch.net/test/read.cgi/tech/1117271829/
31 ttp://pc8.2ch.net/test/read.cgi/tech/1114762194/
30 ttp://pc8.2ch.net/test/read.cgi/tech/1112345886/
29 ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/
28 ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/
27 ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/
26 ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/

6 :デフォルトの名無しさん:2008/10/23(木) 16:00:29
25 ttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
24 ttp://pc5.2ch.net/test/read.cgi/tech/1098967135/
23 ttp://pc5.2ch.net/test/read.cgi/tech/1095534704/
22 ttp://pc5.2ch.net/test/read.cgi/tech/1092524669/
21 ttp://pc5.2ch.net/test/read.cgi/tech/1090422324/
20 ttp://pc5.2ch.net/test/read.cgi/tech/1088140233/
19 ttp://pc5.2ch.net/test/read.cgi/tech/1084697545/
18 ttp://pc5.2ch.net/test/read.cgi/tech/1081702990/
17 ttp://pc5.2ch.net/test/read.cgi/tech/1077470361/
16 ttp://pc2.2ch.net/test/read.cgi/tech/1073830065/★
15 ttp://pc2.2ch.net/test/read.cgi/tech/1069339866/★
14 ttp://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
13 ttp://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
12 ttp://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
11 ttp://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
10 ttp://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
9 ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
8 ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
7 ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
6 ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
5 ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
4 ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
3 ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
2 ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
1 ttp://pc.2ch.net/tech/kako/991/991576947.html

7 :デフォルトの名無しさん:2008/10/23(木) 16:05:03
(゚д゚ )乙 これは乙じゃなくてポニーテールなんたらかんたら

8 :デフォルトの名無しさん:2008/10/23(木) 16:05:40
                             / ̄ ̄ ヽ,
                           /        ',
                           {0}  /¨`ヽ  {0},
                           l   ヽ._.ノ   ',
                           ノ   `ー'′   ',
                       /´           `\
                     / /ヽ           ノ\ \
                    / /  |         |  \ \
                  n´/     i          i    \`n
                 (ミ ノ      )         (     ヘミ)
                         /  、     ,  \
                       /  /ヽ___ノ \  \
                      /  /          \  ヽ
                      ヽ  )               (  /
                       ヽ l            l /
                       ノ   )             (  \
                     <__/             \__つ

9 :デフォルトの名無しさん:2008/10/23(木) 16:09:41
なんだよw

10 :jeff&Chris:2008/10/23(木) 17:54:38
Advanced Windows 第5版 上, 5775円
http://www.amazon.co.jp/dp/4891005920

Advanced Windows 第5版 下, 5985円
http://www.amazon.co.jp/dp/4891005939

おまえら、買え!
Jeff & Chris

11 :デフォルトの名無しさん:2008/10/23(木) 18:46:34
イラネ

12 :デフォルトの名無しさん:2008/10/23(木) 18:58:17
>>1

13 :デフォルトの名無しさん:2008/10/23(木) 19:08:23
Windowsァオーパイ

14 :デフォルトの名無しさん:2008/10/23(木) 19:53:44
>>1

15 :デフォルトの名無しさん:2008/10/23(木) 20:57:49
>>2
次からMSDNとMSDN2ライブラリは現行に合わせてこれにしようよ。
http://msdn.microsoft.com/ja-jp/library/
http://msdn.microsoft.com/en-us/library/

16 :デフォルトの名無しさん:2008/10/23(木) 21:20:40
8のAAはこのスレのマスコットかなにかですか?

17 :デフォルトの名無しさん:2008/10/23(木) 21:26:43
そうなの?

18 :デフォルトの名無しさん:2008/10/23(木) 22:04:56
そうです

19 :デフォルトの名無しさん:2008/10/23(木) 22:32:19
Advanced Windows第5版、日本でも買えるようになったんだね。
未だにどんな本かつかめず、近くの書店にも置いておらず。
どんな本なの?目次とかわかるサイトな〜い?

20 :デフォルトの名無しさん:2008/10/23(木) 23:16:43
>>10
「目次を見る」

21 :デフォルトの名無しさん:2008/10/23(木) 23:46:29
oh! センキュー

22 :デフォルトの名無しさん:2008/10/24(金) 00:15:42
図書館でプログラミングwindows第5版かりたけど、これって2000年初版なんですね。
今と大きく変わっていることはありますか?

23 :デフォルトの名無しさん:2008/10/24(金) 00:23:21
ある。

24 :デフォルトの名無しさん:2008/10/24(金) 00:23:57
>>22
それがいまはAdvanced Windowsになり、内容が大きく変わった
図書館にAdvanced Windows5版を入れるなりと言うなり


25 :デフォルトの名無しさん:2008/10/24(金) 01:18:19
それをごっちゃにしているのはわざとだよね?

26 :デフォルトの名無しさん:2008/10/24(金) 01:21:38
プログラミングWindowsとAdvanced Windowsはまったく異質の本だよなぁ?
著者も違うし。趣旨も違う。

27 :名無し募集中。。。:2008/10/24(金) 02:29:05
                   -―――- 、
              __ /        '⌒ト、
             ( ノ              ノ ヽ
                 ├ー─────〈     `、
                 |         │      !  >>1さん乙なのです
              ,L__\____.∠ _,ト、      \    
              {从lx=ミl/ ヽx==ミ、:\     \_
          tュ   /:ハ{!トハ    ト心ハ : :\     ヽ \
             /:/ i}弋フ    V)フ ヽ: ∨\    i   |
            <フ  /:∧人"  △    ""ィヘ : ':、: \___l   |
            /ノ  |:.://⌒)゚下乏/⌒7)ハ: : :\ : : : : \_ノ
              //  __j:/弋_,厶'⌒∨ ⊆⊇ '; : ヽ : : : : : : : \
         /,{:|  /⌒ー'´  ..::::(⌒V/'  レイ:.}、: :\:\厂
            ̄|八_/'::C .::C .::C..::ムV^\   j:人\: :|\|
.                〃 ..::C .::C..:::::/ツ {   \   ヽj:/
            {{  .....::::::::.::::::ノツ、∧、   乙   }⌒二ニ丶
           ∧ヾッ、___:_:::イツ  仁ヘゝ=-、_ノ/ 人/\  `|
              Vヘーベ┴┴‐'´   |二ム \ ノ∨ ノ\_レー┘
            Vム=-ヘ ______人二ノ ̄ ̄ ̄

28 :デフォルトの名無しさん:2008/10/24(金) 03:03:00
なんか見た事ある

29 :デフォルトの名無しさん:2008/10/24(金) 03:12:12
どっちも良書だからどっちも読むなり

30 :デフォルトの名無しさん:2008/10/24(金) 03:13:45
いやなり

31 :デフォルトの名無しさん:2008/10/24(金) 03:38:17
むしろ読むのはその二冊で良いなり

32 :デフォルトの名無しさん:2008/10/24(金) 03:40:41
こんな時間に何をやっているのだ・・・。

33 :デフォルトの名無しさん:2008/10/24(金) 03:51:46
デスマ....

34 :デフォルトの名無しさん:2008/10/24(金) 04:39:42
おいおい、仕事があるだけマシだと思えよ?
休職中....

35 :デフォルトの名無しさん:2008/10/24(金) 04:53:13
おじさんたち大変そうだね
勉強中

36 :デフォルトの名無しさん:2008/10/24(金) 05:43:22
就寝中

37 :デフォルトの名無しさん:2008/10/24(金) 05:43:52
WindowsAPIの本読んでると「すべてのWindowsプログラマーへ」っていう
副題みたいのがついてるのがあるんだけど、あれはペゾルト氏も含まれるのかね?

38 :デフォルトの名無しさん:2008/10/24(金) 08:18:11
今時のWindowsプログラマはWinAPIなんて使わないから「すべての」なんて眉唾物だろ

39 :デフォルトの名無しさん:2008/10/24(金) 08:39:27
今時の人は何を使うなり?

40 :デフォルトの名無しさん:2008/10/24(金) 08:49:23
WindowsAPI知らないお馬鹿なプログラマーへ

41 :デフォルトの名無しさん:2008/10/24(金) 09:44:07
.NET Frameworkだって、最終的にはWinAPIを使うなりよ?

42 :デフォルトの名無しさん:2008/10/24(金) 10:09:20
使わねーよ馬鹿

43 :デフォルトの名無しさん:2008/10/24(金) 10:11:14
そうなり
とりあえず黙ってプログラミングWindowsとアドバンスを読むなり

44 :デフォルトの名無しさん:2008/10/24(金) 10:12:37
何だこの和み空間・・・なり

45 :デフォルトの名無しさん:2008/10/24(金) 10:17:46
柿食えば鐘が鳴るなり

46 :デフォルトの名無しさん:2008/10/24(金) 11:07:58
.exeと同じフォルダ内のヘルプ.txtを起動させたいんですが
CreateProcessを使えばいいんですか?

47 :デフォルトの名無しさん:2008/10/24(金) 11:12:22
>>46
いくつか方法はあるだろうけど、その用途には
ShellExecuteExがいいんじゃないかな

48 :デフォルトの名無しさん:2008/10/24(金) 11:17:49
ヘルプはchmにしとけ

49 :デフォルトの名無しさん:2008/10/24(金) 11:21:51
.NETってJavaみたいに中間言語にされたあと、仮想マシンで動く
ものなんでしょ?やっぱ遅いのかな。

50 :デフォルトの名無しさん:2008/10/24(金) 12:06:21
シンプルなコントロールならそんな遅いってほどじゃないよ。
.netが動くようなパソコンならね。

ただ、複雑で便利なコントロールが、実は地獄を見るほど遅かったりする。


51 :デフォルトの名無しさん:2008/10/24(金) 12:08:38
その複雑で便利なコントロールをWin32APIで実装すると
早いの?

52 :デフォルトの名無しさん:2008/10/24(金) 12:15:53
>>51
オブジェクト指向とか無視すれば早いよ。


53 :デフォルトの名無しさん:2008/10/24(金) 12:17:43
仕様も見ずに速いと言い切れるのはすごいな

54 :デフォルトの名無しさん:2008/10/24(金) 12:42:20
SplitContainerをいくつか置いただけでとんでもなく遅くなった事ならあるなぁ
Buttonを並べまくるとこれまた遅くなったからToolStripで代用したりとか

ウィンドウメッセージのディスパッチが遅いのかな
確かATLみたいに内部でthunk使ってるはずなんだが

55 :デフォルトの名無しさん:2008/10/24(金) 12:57:45
>>46 です。
>>47
ありがとうございました。
>>48
調べてみます、ありがとうございました。

56 :デフォルトの名無しさん:2008/10/24(金) 13:25:26
じゃあやっぱり玄人はWin32APIってわけですね

57 :デフォルトの名無しさん:2008/10/24(金) 14:08:55
俺も自作アプリではShellExecute使ってるな
txtだろうがhtmlだろうが開いてくれる

58 :デフォルトの名無しさん:2008/10/24(金) 17:43:17
昔のVCのヘルプファイルで関数一覧がツリー表示じゃなくて2列で表示されて見易いのがあったんだけど
どのバージョンかご存じないですか?
Win16との違いが結構書いてあったのでWin32への移行してる時期のものだと思うんですが。

59 :デフォルトの名無しさん:2008/10/24(金) 17:45:39
>>58
VS4.0じゃね?

60 :デフォルトの名無しさん:2008/10/24(金) 23:22:51
ウィンドウハンドルから、コントロールの種類を取得する方法ってありますか?

ウィンドウハンドルが、ボタンのハンドルなら〜の処理、
ウィンドウハンドルが、エディットボックスのハンドルなら〜の処理・・・

みたいなことをしたいと思っています。

61 :デフォルトの名無しさん:2008/10/24(金) 23:23:37
http://amamaman.hp.infoseek.co.jp/

アマレココで3Dゲームから画像をキャプチャする
プラグインを作りたいと思っているんですが、まず何を作ればいいのか分かりません・・。
プラグインの雛形は上のURLに置いてあります。
プロセスを列挙して、コンボボックスで選択できるようにして
選択されたプロセスのみにキャプチャの処理を割り込ませられるようにしたいです。

開発環境はVisual C++ 2005 Express Editionです。

62 :デフォルトの名無しさん:2008/10/24(金) 23:26:12
>>60
GetClassNameでも使え

63 :デフォルトの名無しさん:2008/10/24(金) 23:27:37
>>61
スレチガイ

64 :デフォルトの名無しさん:2008/10/24(金) 23:30:54
>>61
とりあえずキャプチャプログラム書けるようになってから出直して来い

65 :デフォルトの名無しさん:2008/10/25(土) 01:20:22
>>60
自プロセス内のコントロールなら、各コントロールをサブクラス化した方がいいかと。

66 :デフォルトの名無しさん:2008/10/25(土) 02:17:19
>>49
いや、実行時にメソッド単位でコンパイルされて、
CPUネイティブで動作する。

67 :デフォルトの名無しさん:2008/10/25(土) 06:32:27
今時Javaもそれくらいやるだろ。

68 :デフォルトの名無しさん:2008/10/25(土) 06:33:02
データベース使いたいんだけど、MS SQL ServerをWin32APIプログラムから
操作するには、どのAPI使えばいいの?

69 :デフォルトの名無しさん:2008/10/25(土) 08:57:14
>>67
やったらJava仮想マシンじゃなくなるだろ馬鹿


70 :デフォルトの名無しさん:2008/10/25(土) 09:33:07
>>69
馬鹿はお前

71 :デフォルトの名無しさん:2008/10/25(土) 10:05:16
>>70
確かに

72 :デフォルトの名無しさん:2008/10/25(土) 10:25:13
>>70-71
知らないならレスしないでください

73 :デフォルトの名無しさん:2008/10/25(土) 11:06:55
>>68
MySQLサーバとはネットワークで通信する
そのための手段はいくつもある
WindowsのAPIで、というならODBCもその中の1つ

74 :デフォルトの名無しさん:2008/10/25(土) 11:08:23
JITのことですよね

75 :デフォルトの名無しさん:2008/10/25(土) 11:20:30
>>68
http://dev.mysql.com/doc/refman/5.1/ja/connectors.html

76 :デフォルトの名無しさん:2008/10/25(土) 11:25:38
WinAPIでWebサービスお手軽実装マダー?

77 :デフォルトの名無しさん:2008/10/25(土) 11:26:21
欠陥品のWinInetでも使ってくだしあ

78 :68:2008/10/25(土) 14:28:16
レスとんくす。
別にネットワークじゃなくても良いのだが、ローカルにデータベース
作って、それを利用するプログラムを作りたい。
けっこう大変なの?お手軽にできないなら、ちょっと考え直そう。

79 :デフォルトの名無しさん:2008/10/25(土) 14:30:13
ローカルで使うにしてもサーバプログラムが稼動している必要がある
インストールも使うのもそんな面倒じゃないけど
手軽に、というのならSQLiteでも使えばいいとおもうよ

80 :68:2008/10/25(土) 15:53:48
d
それほど面倒でないなら、後学のためにも一般的なMSのSQLSを
やってみよう。
2005ならSQLS Express Editionあるし。

81 :デフォルトの名無しさん:2008/10/25(土) 15:55:19
VISTAで、プログラム自体は一般権限で起動するが、
プログラム中のある機能だけ管理者権限を必要とさせたいのですが。
イメージとしては、あるボタンを押したときだけ管理者権限昇格のダイアログ出す
みたいなものです。
これって可能でしょうか。


82 :デフォルトの名無しさん:2008/10/25(土) 16:06:43
昇格はプロセス単位で管理される
だから、その機能部分だけを別のプロセスにして、そいつを昇格して起動させる必要がある

Advanced Windowsの5版に書いてあっただろうが! といってみる

83 :デフォルトの名無しさん:2008/10/25(土) 16:14:40
COMにして呼ぶ方法が一応はある

84 :デフォルトの名無しさん:2008/10/25(土) 17:21:16
SQL Server を「SQLS」って略す奴を初めて見た・・・

85 :デフォルトの名無しさん:2008/10/25(土) 17:29:05
すきゅるず

86 :デフォルトの名無しさん:2008/10/25(土) 17:33:37
「きゅ」じゃなくて「く」で頼む

87 :デフォルトの名無しさん:2008/10/25(土) 17:43:37
スクルト!

88 :デフォルトの名無しさん:2008/10/25(土) 17:46:03
スカルズならいいのに

89 :デフォルトの名無しさん:2008/10/25(土) 18:07:04
スクールズ

90 :デフォルトの名無しさん:2008/10/25(土) 19:23:02
>>84
MPLSを連想した俺はラノベ板住人

91 :デフォルトの名無しさん:2008/10/25(土) 20:19:32
TCHARのconst版なんてないですよね。
const TCHARとするしか。

92 :デフォルトの名無しさん:2008/10/25(土) 20:35:29
TSTRならともかくTCHARのconst版なんかあってなんか嬉しいか?

93 :デフォルトの名無しさん:2008/10/25(土) 20:35:33
必要なら const 書く方が普通だろ
そんなところで手を省こうとするのが間違ってる

94 :デフォルトの名無しさん:2008/10/25(土) 20:36:04
×手を省こうと
○手間を省こうと

95 :デフォルトの名無しさん:2008/10/25(土) 20:38:58
よく
TCHAR hoge[] = TEXT("hogehoge");
というようなコードがありますが、これってだいたいの場合固定で使うので
正確には
const TCHAR hoge[] = TEXT("hogehoge");
とすべきでは?と思ったもので。

96 :デフォルトの名無しさん:2008/10/25(土) 20:45:57
固定で使わないから定数を表すconstがついていないんだろ。

97 :デフォルトの名無しさん:2008/10/25(土) 20:50:26
ペゾルドは、const付けてないね。アプリネームとかも。

98 :デフォルトの名無しさん:2008/10/25(土) 20:59:37
constなTCHAR配列わざわざ作るぐらいならPCTSTR使わね?

99 :デフォルトの名無しさん:2008/10/25(土) 21:10:28
やっぱ好みかなぁ。
PCSTRとかだとポインタなのに*使わずに宣言するのが違和感あるとかw


100 :デフォルトの名無しさん:2008/10/25(土) 21:39:45
ARRAYSIZE(hoge) - 1で文字列の長さを求められる(もちろんマクロ化)から、
俺は95みたいにconst配列が好み。

101 :デフォルトの名無しさん:2008/10/26(日) 02:43:36
流れぶったぎってスマソ

プログラムでスクリーンキャプチャする時に、レイヤードウィンドウもキャプチャしたいのに
GetDesktopWindowだとキャプチャできないんですよね。
レイヤードウィンドウもキャプチャできる方法ってありますか?

keybd_eventとかSendInputで「PrintScreen」を押した事にすれば可能っぽいんですが、
他の方法で出来ないものかなぁと…

102 :デフォルトの名無しさん:2008/10/26(日) 03:02:48
もちろんBitBltにはCAPTUREBLTを指定しているよな。

103 :101:2008/10/26(日) 05:17:11
>>102

ありがとうございます。
こんなROPがあったんですね。
自分が参照しているリファレンスには載ってなかったもんで知りませんでした。

MSDNを参照する、という基本的な事を欠いてしまっていたのは反省すべき所でした。

104 :デフォルトの名無しさん:2008/10/26(日) 05:28:50
ROPじゃなくてフラグだろ

105 :デフォルトの名無しさん:2008/10/26(日) 12:39:20
>>104

引数にラスターオペレーションコードって書いてあったのでそのまま書いてしまいました。
失礼しました。

106 :デフォルトの名無しさん:2008/10/26(日) 16:58:38
そういやマウスカーソルも含めてキャプチャできるソフトがあるけど、
あれってもしかしてキャプチャした画像の上にGetCursorInfo→DrawIconExで描いてるだけ?

107 :デフォルトの名無しさん:2008/10/26(日) 17:07:55
>>106
うん

108 :デフォルトの名無しさん:2008/10/26(日) 17:36:54
>>106
DIB取得して合成

>>107
バーカ

109 :デフォルトの名無しさん:2008/10/26(日) 17:42:57
「DIB取得して合成」という何か革新的に方法があるらしいね。

110 :デフォルトの名無しさん:2008/10/26(日) 17:51:29
ワロタ

111 :デフォルトの名無しさん:2008/10/26(日) 18:25:33
なんでMSDNのWin32APIリファレンスって英語やねん。
本買うしかないのか!

112 :デフォルトの名無しさん:2008/10/26(日) 18:28:52
英語の参考書は必須だよな

113 :デフォルトの名無しさん:2008/10/26(日) 18:51:04
>>109
バーカ

114 :デフォルトの名無しさん:2008/10/26(日) 19:13:23
ttp://www.woodybells.com/delphi_tips/index.cgi?mode=view&no=5

115 :デフォルトの名無しさん:2008/10/26(日) 19:25:06
#define HIWORD(l) ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))
これってなんで0xffffでマスクする必要あるの?

#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
でよくね?意図がわからん。

116 :デフォルトの名無しさん:2008/10/26(日) 19:47:55
>>115
そんなどうでもいい事をわざわざ質問するお前の意図がわからん。

117 :デフォルトの名無しさん:2008/10/26(日) 19:53:54
知らないならレスしないでください

118 :デフォルトの名無しさん:2008/10/26(日) 19:55:56
知らないならレスしないでください

119 :115:2008/10/26(日) 19:57:11
>>116
興味本位だよ、技術的な。俺の考えに間違いがあるのかもしれないし。

120 :デフォルトの名無しさん:2008/10/26(日) 19:57:42
WORD型が16ビットで無くなっても大丈夫。

121 :デフォルトの名無しさん:2008/10/26(日) 19:59:48
>>119
そんなのコンパイラの最適化でどうとでもなるだろ
cl /FAcs でコンパイルしてアセンブリソースでも眺めとけ

122 :115:2008/10/26(日) 20:04:38
>>121
どうとでもなるというか、別に何かをしたいわけじゃなくて
興味本位で聞いてただけなんだ。

つまり>>120ぐっじょぶ

123 :デフォルトの名無しさん:2008/10/26(日) 20:06:13
WORDが16ビットで無くなるなんて有り得ないだろ・・・

124 :デフォルトの名無しさん:2008/10/26(日) 20:08:53
2bytesであっても16bitsであるかは不定じゃないの

125 :デフォルトの名無しさん:2008/10/26(日) 20:10:30
でも、それ以外にわざわざマスクする理由もなさそうだな。
意図としてはそういうことなんだろう。
安全策だな。
WORDを再定義するやからがいるかも知れないし。

126 :デフォルトの名無しさん:2008/10/26(日) 20:20:59
DWORD_PTRが32ビットより大きいときにまずいだろ。
0x123456780000 >> 16 → 0x12345678

昔はDWORD_PTRではなくDWORDだったと思うが、
それなら確かに0xffffでのマスクは不要ではある。

127 :デフォルトの名無しさん:2008/10/26(日) 20:23:46
DWORD_PTRが32ビット越えしてても、WORDが16ビットなら無問題だから
やっぱWORDのサイズがポイントやろ。

128 :デフォルトの名無しさん:2008/10/26(日) 20:37:47
>>126
バーカ

129 :デフォルトの名無しさん:2008/10/26(日) 21:05:21
>>115
http://msdn.microsoft.com/ja-jp/library/8wtf2dfz.aspx
無いとVC++のチェックに引っ掛かるからでは?

130 :デフォルトの名無しさん:2008/10/26(日) 21:19:25
>>129
それって、単に上位ビットがすべて0だろうとそうでなかろうと
切り捨てられるときの話じゃないの?マスクする・しないの問題じゃ
ないと思うが。

131 :デフォルトの名無しさん:2008/10/26(日) 21:21:43
↑話を理解してない馬鹿

132 : ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄:2008/10/26(日) 21:42:18
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ ・・・
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |

133 :61:2008/10/26(日) 22:22:00
>>64
自分で作ったプログラムがOpenGLでレンダリングした画像を保存するのは出来ます。
でも人が作ったプログラムでやるにはどうすれば?

134 :デフォルトの名無しさん:2008/10/26(日) 22:27:30
キャプチャ Win32
あたりで検索すれば色々でてくんだろ

135 :デフォルトの名無しさん:2008/10/26(日) 22:50:51
バーカ をNGにするだけでも結構快適になるものだな。

136 :デフォルトの名無しさん:2008/10/26(日) 22:53:28
バーカ

137 :デフォルトの名無しさん:2008/10/26(日) 22:55:38
>>135
自分のレスも見えなくなってる馬鹿

138 :デフォルトの名無しさん:2008/10/26(日) 23:21:41
このスレには、人を安易に馬鹿呼ばわりする奴が後を絶たないな。
プログラマの人格が疑われるぜ。


139 :デフォルトの名無しさん:2008/10/26(日) 23:22:56
>>138
ヽ(`Д´)ノバーヤ

140 :デフォルトの名無しさん:2008/10/26(日) 23:26:55
俺はプログラムを組めるんだ!それも硬派なWin32だ!
という感じで、えらそうに街中歩いていそうだなw
あ〜やだやだ。

141 :デフォルトの名無しさん:2008/10/26(日) 23:42:14
高校生?

142 :デフォルトの名無しさん:2008/10/27(月) 00:11:03
やーーーい、バカ、おまえ、バカだ、馬鹿だ
馬鹿じゃなければ底辺産業のドカタやってられんよなー、同職ドカタ諸氏だろ

143 :デフォルトの名無しさん:2008/10/27(月) 01:31:10
>>133
自分のとこのならどこがキモになっててどう保存してんだか分かるだろ。
あとはどれを他のウィンドウから貰ってくれば同じことが出来るかだけやん。

144 :デフォルトの名無しさん:2008/10/27(月) 04:41:33
IT産業のドカタ、プログラマーw

145 :デフォルトの名無しさん:2008/10/27(月) 05:25:49
IT産業のドカタ、プログラマーw

146 :デフォルトの名無しさん:2008/10/27(月) 08:48:58
>>144 >>145
まぁアセンブラ組みに殺されろ

147 :デフォルトの名無しさん:2008/10/27(月) 09:02:49
アセンブラ組に入るんだ
アセンブラ組はやわじゃねえ

148 :デフォルトの名無しさん:2008/10/27(月) 22:46:36
_WIN32_IEや
WINVER
_WIN32_WINNT
といったWindowsやIEのバージョンを表すマクロは、
Win32APIでプログラムする場合、自分で定義するものなのですか

てっきりVC++が開発環境のバージョンをデフォルトで設定してくれると思い込んでました

149 :デフォルトの名無しさん:2008/10/27(月) 23:18:31
入れるべきは開発環境のバージョンではなく、
「動作させたいターゲット環境」のバージョンだから。

150 :148:2008/10/27(月) 23:21:14
そうですね
その通りなんですが、
開発環境のパラメータをデフォルトで設定してくれてもいいんじゃね?
プロジェクト設定でGUIでできてもいいんじゃね?

と甘えたくなっただけですごめんなさい

151 :デフォルトの名無しさん:2008/10/27(月) 23:43:40
http://d.hatena.ne.jp/firewood/20080304/1204560137
ココ見ると、デフォルトの設定があるようだけど?

152 :148:2008/10/28(火) 00:05:42
WINVERには確実に数値が入ってそうですね

定義されてないとそのヘッダファイルのリリース時の最新バージョンが定義される
ってかんじなんですかね
気をつけてないと無意識にVistaでしか動かないアプリとか作ってしまいそうです

明示的にターゲットのバージョンを定義するのが良い作法の様ですね

>>149
>>151
ありがとうございました

153 :デフォルトの名無しさん:2008/10/28(火) 01:56:16
プロポーショナルフォントの場合、文字の横幅はバラバラなんですよね?
で、TEXTMETRIC構造体のtmAveCharWidthというメンバで文字横幅の平均値は
得られるようですが、この横幅を基準に文字列がどのくらいのフィールドを
必要とするかを考えても、文字の組み合わせによっては、想定したフィールドの
横幅からはみ出すこともあるってことで、OK?
対処法は余裕をもって場所確保しておけってことなのかな。

154 :デフォルトの名無しさん:2008/10/28(火) 02:01:52
それでいいと思われ
万全を期すならGetTextExtentPoint32使った方がいいんだろうけど

155 :デフォルトの名無しさん:2008/10/28(火) 02:06:36
レスどうもです。
GetTextExtentPoint32というのは、文字列ごとに計算するって奴ですよね。


156 :デフォルトの名無しさん:2008/10/28(火) 02:51:07
最大字数が決まってて、どんな組合せでもはみ出さないようにしたい
という用途みたいだから、tmMaxCharWidth*nでないの

157 :デフォルトの名無しさん:2008/10/28(火) 03:42:24
たしかにそのやり方がよさげですね。
大文字の場合も考慮に入れてくれるんですよね、その関数。

158 :デフォルトの名無しさん:2008/10/28(火) 07:23:44
.exeと同じフォルダに○○.chmがあれば
ShellExecute(hwnd,"open","○○.chm",NULL,NULL,SW_SHOWNORMAL);
って書けばふつーにchmが開くんですか?


159 :デフォルトの名無しさん:2008/10/28(火) 07:36:28
>>158
やってみれば?

160 :158:2008/10/28(火) 08:32:13
嫌です

161 :デフォルトの名無しさん:2008/10/28(火) 09:05:07
いやーん

162 :デフォルトの名無しさん:2008/10/28(火) 09:16:37
>>159
できました、どっかでID、ヘッダーファイルがどうこうと見たので
たんに開くだけの場合も何か必要と思い込んでました…

163 :デフォルトの名無しさん:2008/10/28(火) 09:51:10
パス省略できるのはカレントディレクトリだから

164 :デフォルトの名無しさん:2008/10/28(火) 10:32:37
「カレントディレクトリ」≠「exeのあるディレクトリ」の時に正常動作しない糞アプリの完成ですね

165 :デフォルトの名無しさん:2008/10/28(火) 14:15:49
GetObject( hbmp, sizeof( BITMAP ), &bmp );
とした時の BITMAP::bmBits は解放する必要ないのでしょうか?

166 :デフォルトの名無しさん:2008/10/28(火) 14:27:05
LocalFreeで開放しろと書いてあるだろ

167 :165:2008/10/28(火) 14:40:05
>>166
http://msdn.microsoft.com/ja-jp/library/cc410355.aspx を見ただけでは
その記述を見つけることはできませんでした。
ありがとうございました。

168 :デフォルトの名無しさん:2008/10/28(火) 14:51:21
いや、DIBSECTION以外はNULLのままじゃないか?

169 :デフォルトの名無しさん:2008/10/28(火) 14:55:22
CreateDIBSectionのppvBitsに入るのと同じアドレス値でしょ

170 :デフォルトの名無しさん:2008/10/28(火) 15:02:51
>>167のリンク先なんだけど

> この関数は、、、、、、or いずれかの構造体、またはテーブル内のエントリ数(論理パレットに対応)を格納します。

何これ

171 :デフォルトの名無しさん:2008/10/28(火) 15:05:38
>>170
8ビット以下のbmpはパレット付き

172 :デフォルトの名無しさん:2008/10/28(火) 15:09:15
>>171
いやそうじゃなくて、機械翻訳がおかしいと言いたいのだが・・・

173 :165:2008/10/28(火) 15:15:15
>>166
LocalFree() するとアクセス違反が起こりました
問題なく処理は進んでいますが、
念のためコメントアウトしておきます

>>168
ヘルプを見る限りそのようなので、
CreateDIBSection() でBITMAPを作成しています

>>169
同じアドレスということは
メモリの管理はAPI側がやってくれるということなのでしょうか?

>>170
日本語版ヘルプはそういうのが多いですね
特にWin32APIで

174 :デフォルトの名無しさん:2008/10/28(火) 15:17:04
>>173
自分で作ったバッファのアドレスが入ってるだろうってことじゃないか?

175 :165:2008/10/28(火) 15:20:01
>>174
自分でバッファを作ったわけではなく、
CreateDIBSection() の引数で void** を渡し、
そこにアドレスが入っています。
なのでシステムが用意したバッファだと思っているのですが・・・

176 :デフォルトの名無しさん:2008/10/28(火) 15:21:29
自分で(CreateDIBSectionで)作ったバッファの(中のどこかの)アドレスが入ってるだろうってことじゃないか?

177 :デフォルトの名無しさん:2008/10/28(火) 15:25:32
だからCreateDIBSectionで作ったやつはGetObjectに関係なくDeleteObjectすればいい

178 :165:2008/10/28(火) 15:27:37
>>176
すみません読み違えていました

>>177
つまり DeleteObject() さえしていれば
解放の必要はないということですね?
ありがとうございました。

179 :デフォルトの名無しさん:2008/10/28(火) 15:28:24
>>168-169が正解
>>166は大嘘

180 :デフォルトの名無しさん:2008/10/28(火) 17:43:45
タスクマネージャで見てハンドル値とかが増加していかなければおk

181 :デフォルトの名無しさん:2008/10/28(火) 19:11:35
おれつえええええええええええええええ

182 :デフォルトの名無しさん:2008/10/28(火) 23:47:58
タスクトレイに常駐して、任意のキーが押されたらある処理をするアプリを作ろうと思ってます

実現するには、アプリケーションのウィンドウがアクティブではない時も
キーイベントを拾う必要があると考えてます

この場合、
・キーボードフックを使う
・GetAsyncKeyStateでポーリングしながらキー入力をチェックする

以外の方法が思いつかないんですが、他にやり方はありますか?


183 :デフォルトの名無しさん:2008/10/28(火) 23:59:36
>>182
ホットキー

184 :182:2008/10/29(水) 00:08:47
>>183
おぉぉぉぉ
正にこの機能が欲しかったです

RegisterHotKey()
で頑張ります

185 :デフォルトの名無しさん:2008/10/29(水) 00:11:24
がんばらなくてもいいじゃないか、にんげんだもの

186 :デフォルトの名無しさん:2008/10/29(水) 00:45:37
Win32APIを勉強し始めて、今スクロールバーの処理について学んだんですが
けっこうスクロールバー1つ付けるにしても、メッセージを処理しなくちゃ
いけないんだなぁなんて思ってるところでありまして、これがC#などの
いわゆる高級言語だと、どれくらい楽に実装できちゃうんでしょうか。
あまり変わらないのでしょうか。

187 :デフォルトの名無しさん:2008/10/29(水) 00:53:29
今は言語何使ってんだよ

188 :デフォルトの名無しさん:2008/10/29(水) 01:03:02
C/C++です

189 :デフォルトの名無しさん:2008/10/29(水) 06:15:49
pythonです

190 :デフォルトの名無しさん:2008/10/29(水) 06:45:25
無料で使える Express 版があるんだから、ちょっと試してみればいいじゃん。

191 :デフォルトの名無しさん:2008/10/29(水) 08:31:05
>>186
C#は何も知らなくても基本的なGUIアプリ作れるくらいにラク

192 :デフォルトの名無しさん:2008/10/29(水) 09:00:29
>>186
C#だと、プロジェクトを作っただけで、既にウインドウが1つ作られてて、
それだけで既に一通り動作する。
そして、デザイン画面でボタンをD&Dで貼り付けてダブルクリックするだけで、
ボタンクリック時のメッセージハンドラが作られる。

193 :デフォルトの名無しさん:2008/10/29(水) 09:01:34
これはC++でMFCの場合も同じだが。

194 :デフォルトの名無しさん:2008/10/29(水) 09:26:22
労力は半分以下

195 :デフォルトの名無しさん:2008/10/29(水) 09:41:45
スクロールバーで何やってるのかわからんけど
一般的な動作以外をやらせてるなら手間はあまり変わらんぞ、そこの部分だけは。

196 :デフォルトの名無しさん:2008/10/29(水) 10:06:11
64ビット版WindowsではWin64APIってのを使うのかい?
他の呼び方があるの?

197 :デフォルトの名無しさん:2008/10/29(水) 10:10:34
APIはWIN32APIのままだよ

198 :デフォルトの名無しさん:2008/10/29(水) 11:02:45
>>192
C#はって言うより十数年前のVBで既にそうだった訳だが

199 :デフォルトの名無しさん:2008/10/29(水) 16:25:12
IntelliPointでブラウザなんかをホイールクリックすると任意方向へスクロールさせることができるけど
あれを自前のアプリへで対応させるのってどうやるの?
どっかにドキュメントがあったら教えてください。

200 :デフォルトの名無しさん:2008/10/29(水) 16:49:45
DoReaderMode

201 :186:2008/10/29(水) 18:06:15
レスどうもです。
MFCなんかでは、ウィザードである程度コードの骨格を作ってくれるというのは
知っていたので、C#も同じような感じですか。
ただ、それならWin32APIでも、一度自分でひな形を作れば、それほど手間は
変わらないのかなと。それよりも、スクロールに付随する複雑な描画の部分を
魔法のように解決してくれるってことはないんですね。
そういう意味ではあまり変わらないのかなぁという印象です。


202 :デフォルトの名無しさん:2008/10/29(水) 18:10:02
いや、状況にもよるが例えば画像のスクロールに対応済みのコントロールはあるから
それ貼るだけでいい、というのはあるよ。

203 :デフォルトの名無しさん:2008/10/29(水) 20:48:29
スクロールバーってそんなに面倒かな
コモンコントロールの方がよっぽど面倒なのたくさんあるぞ

204 :デフォルトの名無しさん:2008/10/29(水) 22:09:40
64ビット版のプログラムって何が違うの?
long型が64ビットとかになるのかな。
32ビット版プログラムも動くの?
Win32APIの知識でそのまま移行できるのかい?

205 :デフォルトの名無しさん:2008/10/29(水) 22:12:50
その質問からして32ビットプログラムの何が32ビットなのかも分かってないだろ

206 :デフォルトの名無しさん:2008/10/29(水) 22:14:03
LLP64

207 :デフォルトの名無しさん:2008/10/29(水) 22:23:05
>>205
自慢じゃありませんが、よくわかっていません。
CPUが一度に処理できるデータのサイズが32ビットである
アーキテクチャ用のプログラムが32ビットプログラムと
違うの?

208 :デフォルトの名無しさん:2008/10/29(水) 22:23:14
Win32APIを最低限理解していれば64ビットへの移行の際に問題は一切発生しません

209 :デフォルトの名無しさん:2008/10/29(水) 22:25:22
>>205
で、正解は?

210 :デフォルトの名無しさん:2008/10/29(水) 22:54:32
>>209
プログラムが32ビットにきまってるだろう

211 :デフォルトの名無しさん:2008/10/29(水) 22:55:06
いや、つまんないから

212 :デフォルトの名無しさん:2008/10/29(水) 23:17:09
けっきょくみんな半信半疑なんだろ
64ビットプログラムって奴がさ

213 :デフォルトの名無しさん:2008/10/29(水) 23:49:29
>204
「long型が64ビットとかになるのかな。」って、
32ビット版のプログラムは、long型は何ビットなんだ?

214 :デフォルトの名無しさん:2008/10/29(水) 23:53:56
32ビットやろう、intと同じで。

215 :デフォルトの名無しさん:2008/10/30(木) 00:25:26
>>202
>画像のスクロールに対応済みのコントロール
どれ?

216 :デフォルトの名無しさん:2008/10/30(木) 01:00:05
それ

217 :デフォルトの名無しさん:2008/10/30(木) 01:04:21
なるほど

218 :デフォルトの名無しさん:2008/10/30(木) 01:20:14
LLP64は long long とポインタが64bitだから
int とlongは32bitのまま

219 :デフォルトの名無しさん:2008/10/30(木) 01:48:56
他のウィンドウに隠れたウィンドウをキャプチャすることはできる?
もしくは画面外のウィンドウをキャプチャすることはできる?

だいぶ調べたけど一番上のウィンドウ(もしくはデスクトップ全体)かつ
デスクトップ画面内しか無理という結論に達しつつあるんだけど・・

220 :デフォルトの名無しさん:2008/10/30(木) 01:50:07
無理

221 :デフォルトの名無しさん:2008/10/30(木) 02:00:57
で、ぼちぼち64ビットプログラムのイメージを抱かせてくれないか…
たとえばwPramとかlParamが64ビットになるのか?
それともlong longをふんだんに使えばいいのか?

222 :デフォルトの名無しさん:2008/10/30(木) 02:07:02
64bitになるのは、ポインタだけだよ。

223 :デフォルトの名無しさん:2008/10/30(木) 02:09:43
アドレスが64ビットになるということはwParam, lParamも64ビットになるということなのかという話ですよね。

224 :デフォルトの名無しさん:2008/10/30(木) 02:14:45
wParamやlParamがポインタのtypedefだったら64bitになるけど、そうじゃないよね?
ちなみに、Windowsのカーネルも32bitと64bitでソースコードベースは統一されている。

225 :デフォルトの名無しさん:2008/10/30(木) 02:17:26
あと、ポインタのtypedefである(#defineだっけ?)ハンドル型も64bitになるね。

226 :デフォルトの名無しさん:2008/10/30(木) 02:21:32
>>221
いまいち覚えてないしPSDKも手元にないのでアレだが、typedef LONG_PTR LPARAMになるんじゃないか?WPARAMは多分変わらないだろう。
64ビットになることで今まで無邪気にint型相当のデータ型にポインタぶち込んでたところが64ビット整数型を使わなければならなくなる。
UINT_PTRとかDWORD_PTRなんてデータ型見たことないか?
従来ポインタ-整数間のやり取りをしていた箇所が「ポインタを収められるサイズ相当の整数型」を使うようになって、具体的に32ビットか64ビットかを問わずHOGE_PTRとかで抽象的に扱えるようになってる。
その点Win32APIの方でも64ビットを意識した修整が入ってるから、ポインタは絶対32ビットだ〜みたいなことしてなければ「多分」従来どおりでいい。

227 :224:2008/10/30(木) 02:23:06
すまん、思いっきり勘違いしていた。
wParam,lParam両方とも64bitになるな。

228 :デフォルトの名無しさん:2008/10/30(木) 02:25:14
typedef UINT_PTR WPARAM
typedef LONG_PTR LPARAM

だね。ポインタだから64bit

229 :226:2008/10/30(木) 02:28:07
すんません。>>228のとおり。
WPARAMも64ビットになるね。windef.hを急いで確認したよ。

230 :デフォルトの名無しさん:2008/10/30(木) 02:43:10
HOGE_PTRを見るとPHOGEみたいな感覚になるから嫌い

231 :デフォルトの名無しさん:2008/10/30(木) 02:45:06
>>219
PrintWindow()

232 :デフォルトの名無しさん:2008/10/30(木) 02:54:57
↑デタラメ言うな

233 :デフォルトの名無しさん:2008/10/30(木) 02:59:52
とにかく普段から抽象データ型を使うように努めればいいわけか。


234 :デフォルトの名無しさん:2008/10/30(木) 03:03:31
Windwos7なんてものが遠くない内に出るようだが、
新しいOSを機にぼちぼち64ビットWindowsに乗り換えるべきだろうか。

235 :デフォルトの名無しさん:2008/10/30(木) 03:15:00
>>219
他人のウィンドウが自分のウィンドウエリアに描画するから無理だよ。
Vistaならできるかも。


236 :デフォルトの名無しさん:2008/10/30(木) 03:23:17
>>232
いやXP以降だけどPrintWindow()でいいだろ。

2000なら対象ウィンドウを一旦レイヤードウィンドウにするとかいう強引な手もあるが。

237 :名無し募集中。。。:2008/10/30(木) 03:23:24
>>215
CStatic

238 :デフォルトの名無しさん:2008/10/30(木) 09:09:41
>>236
デタラメ言うな

239 :デフォルトの名無しさん:2008/10/30(木) 09:48:05
このでたらめ言うやつは何なの?
自分が間違ってたことを認めないためには質問者に嘘教えるのも厭わないのか。

240 :デフォルトの名無しさん:2008/10/30(木) 09:48:41
>>238のことね、もちろん

241 :デフォルトの名無しさん:2008/10/30(木) 09:48:53
印刷したいんですが。
DCに書けばいいのか?

242 :デフォルトの名無しさん:2008/10/30(木) 09:55:20
もちろんDCに書くけど、準備がいろいろあるから
まずはサンプルコードをコピーしてくるところから
始めた方がいいよ。

243 :デフォルトの名無しさん:2008/10/30(木) 10:58:48
64ビットでもSysListView"32"なんだろ?
意味わかんねぇ
MSの中の人、頭おかしいんじゃないの

244 :デフォルトの名無しさん:2008/10/30(木) 11:05:17
>>243
64ビットでも kernel32.dll だし、システムフォルダは c:\windows\system32 だよ。
逆に、64ビット環境での 32 ビット用が WOW64。

最初は戸惑うよね。

245 :デフォルトの名無しさん:2008/10/30(木) 11:15:48
過去のしがらみのないOSがいいならGNU Hurdでも使っておけと。


246 :デフォルトの名無しさん:2008/10/30(木) 12:41:48
>>244
こういうのってやっぱシステムフォルダ = "c:\windows\system32"って
ハードコードしてる糞アプリの為の互換性なんだろうな

シェアが高すぎるOSってのも大変だなぁ・・・

247 :デフォルトの名無しさん:2008/10/30(木) 13:13:11
PostMessageとSendMessageの違いですが
ぶっちゃけメッセージループのためのメッセージキューに送られるのがPostで
直接WindowProcに送られるのがSendってことでOKですか?

248 :デフォルトの名無しさん:2008/10/30(木) 13:52:23
おk

249 :デフォルトの名無しさん:2008/10/30(木) 13:54:01
どっちもキューに入るけどな。
WindowProcの戻り値がわかるのがSendで、わからないのがPost
もちろん、SendはWindowProcが終わるまでリターンしない。

250 :デフォルトの名無しさん:2008/10/30(木) 14:14:56
>>231
すげえ、できた!
まじありがとう

>>235
>Vistaならできるかも。
kwsk

251 :デフォルトの名無しさん:2008/10/30(木) 14:37:28
>>250
え?できたの?理解できない。
もしかしてOSはVista?
Vistaはアプリケーションごとにサーフェイスを持ってるから、描画したのが残ってるんじゃないかと。

WM_PAINTですら描画しないと消えるのに
WM_PRINTなんかでなんの処理もしてないのに描画されるはずがないと思う。
もちろんWM_PAINTをWindowsまかせにしてるアプリならWM_PRINTにも対応してるだろうけど。


252 :デフォルトの名無しさん:2008/10/30(木) 14:42:55
逆だろ。
WM_PRINTをWindows任せにしてるとWM_PAINTと同じ内容になる。

253 :デフォルトの名無しさん:2008/10/30(木) 15:26:40
>>252
WM_PAINTを処理しない前提ならそーかもしれないけど
そもそもWM_PRINTなんか自前処理してるアプリないだろ。
情報量が桁違い=誰も使ってない。

WM_PRINT に一致する日本語のページ 約 256 件中 1 - 10 件目 (0.04 秒)
WM_PAINT に一致する日本語のページ 約 8,830 件中 1 - 10 件目 (0.11 秒)

WM_PRINT の検索結果 約 9,010 件中 1 - 10 件目 (0.03 秒)
WM_PAINT の検索結果 約 150,000 件中 1 - 10 件目 (0.18 秒)

http://d.hatena.ne.jp/madotate/20080320
デスクトップのスナップショット
デスクトップのスナップショットを取ろうという実験。最初に結論。
* 「壁紙+アイコン」を取得するなら BitBlt()
* 「壁紙」のみを取得するなら PaintDesktop()
方法4:WM_PRINTメッセージ
最後に、WM_PRINT。GetShellWindow() して SendMessage() でWM_PRINT を送りつける。
なにも書かれなかった。ぐぐってみると、これはWindows 98では使えたテクニックらしい。
Windows NTや2000以降では、同一プロセス内じゃないと使えない模様。
そういうわけで最初に書いた結論に至る。BitBlt() 最強。

254 :デフォルトの名無しさん:2008/10/30(木) 15:31:58
ユニコードが定義されている環境で、

TCHAR tszBuff[100]=_TEXT("");
GetWindowText(hWnd, tszBuff, XXX );

の、XXXって、正しいのは次の内どれですか??


@100
Asizeof(tszBuff)
B100-1
Csizeof(tszBuff) - sizeof(TCHAR)


char型とWCHAR型の違いは、一応ぐぐって調べたんですけど、
上記の場合、何をいれたらいいのかわかりません・・・。

255 :デフォルトの名無しさん:2008/10/30(木) 15:35:19
sizeof tszBuff / sizeof(TCHAR)

256 :デフォルトの名無しさん:2008/10/30(木) 15:42:48
hMutex = CreateMutex(NULL,TRUE,"ファイル名");
if (GetLastError() == ERROR_ALREADY_EXISTS){
ReleaseMutex(hMutex);
CloseHandle(hMutex);
return FALSE;

こうすると「ファイル」の2重起動は防げるんですが
「ファイル」を閉じてもう一度開こうとすると開きません。
何が考えられますか?

257 :254:2008/10/30(木) 15:45:47
>>255
おぉ!
ありがとうございます。

258 :デフォルトの名無しさん:2008/10/30(木) 15:51:49
>>256
ファイルを閉じるときにミューテックス閉じてないとかいうオチくらいしか思い浮かばないけどな

259 :デフォルトの名無しさん:2008/10/30(木) 15:53:56
>>258
コレ(>>256)と同じ書き方でソフトそのものの2重起動は防げたので
使えると思ったんですが…

260 :デフォルトの名無しさん:2008/10/30(木) 15:56:27
>>259
いやだからさ、ERROR_ALREADY_EXISTSじゃなかったときはMutexそのままでファイルを開くんだよね?
そのファイルを閉じたときにはちゃんとCloseHandle()してるの?

261 :デフォルトの名無しさん:2008/10/30(木) 16:02:12
>>260
そんな事は分かっています

262 :デフォルトの名無しさん:2008/10/30(木) 16:03:45
理解していることと行動に移すことは別の話

263 :デフォルトの名無しさん:2008/10/30(木) 16:04:49
ソフトそのものの2重起動とやらは明示的にCloseHandleしなくてもいいからなw

264 :デフォルトの名無しさん:2008/10/30(木) 16:06:08
ファイルをミューテックスオブジェクトで縛らなくても、
CreateFileの引数のdwShareModeに0いれときゃ良さそうなもんだが・・・

265 :デフォルトの名無しさん:2008/10/30(木) 16:08:56
てかMutexって名前に \ が含まれてると意味合いが変わるから
ファイル名をそのまま使えるものなの?

266 :デフォルトの名無しさん:2008/10/30(木) 16:16:36
>>260>>263>>264
分かりました。ありがとうございました。

267 :デフォルトの名無しさん:2008/10/30(木) 16:18:23
>>251
えー、でもできたよ
OSはXP、Visual Studio 2008
コードはこんなの
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
HWND hWnd = (HWND)0x000203fa;
HDC hDC = ::GetWindowDC(NULL);
::PrintWindow(hWnd, hDC, 0);
::ReleaseDC(hWnd, hDC);
}
対象ウィンドウハンドル直指定でデスクトップ左上に書き込み
メモ帳とJaneで別のウィンドウに隠れてるときと画面外の状態で確認

268 :デフォルトの名無しさん:2008/10/30(木) 16:40:16
>>267
できて当然

WM_PRINTとPrintWindowは別物
PrintWindowはWM_PRINTを発行するだけのAPIではないということ
>>251が勘違いしてるだけ。

269 :デフォルトの名無しさん:2008/10/30(木) 18:05:10
>>228
いまさらだけど、ポインタじゃないぞ、整数型だ。
たしかにWin64では64ビットになる型だが。

270 :デフォルトの名無しさん:2008/10/30(木) 18:21:08
Ribbonコントロールはどうやって作るんですか?

271 :デフォルトの名無しさん:2008/10/30(木) 18:22:33
こうやって作る

(略)

272 :デフォルトの名無しさん:2008/10/30(木) 18:38:43
>>270
このスレ的には、Windows 7を待て。
Scenic Ribbonコントロールというのが追加される。
http://blogs.msdn.com/hiroyuk/archive/2008/10/30/9023528.aspx

273 :デフォルトの名無しさん:2008/10/30(木) 18:39:15
Introducing the Microsoft Direct2D API
ttp://blogs.technet.com/thomasolsen/archive/2008/10/29/introducing-the-microsoft-direct2d-api.aspx

動画
Introducing Direct2D and DirectWrite
ttp://channel9.msdn.com/pdc2008/PC18/

ドキュメント
ttp://blogs.technet.com/thomasolsen/attachment/3144190.ashx

274 :デフォルトの名無しさん:2008/10/30(木) 18:40:19
http://qb5.2ch.net/test/read.cgi/operate/1206636885/657
強制ID実装を駄目元で頼み込んでみた。
もし賛同してくれる人がいたら同意のレスつけてください。

275 :デフォルトの名無しさん:2008/10/30(木) 18:45:51
OSに標準で入ったらMFCも
CMFCRibbonBar が CRibbonBar になったりすんのかな

276 :デフォルトの名無しさん:2008/10/30(木) 18:52:46
標準で入ったらwrapperクラスが追加されるだけだろ

277 :デフォルトの名無しさん:2008/10/30(木) 19:34:41
>>274
そんなのは過去に何度も頼み込んでもダメだったので、レスするだけ無駄だ。
この板が使い物にならないくらいスクリプト荒らしをすれば導入してくれるらしいので、
そっちの方向で頑張ってくれ。

278 :デフォルトの名無しさん:2008/10/30(木) 19:43:00
ぶっちゃけID無くても捨て鳥使えば良いわけで

279 :デフォルトの名無しさん:2008/10/30(木) 20:05:57
悔しかったら2ch鯖クラックして設定書き換えて見ろよ m9(^Д^)

ってスタンスなんだろうなあ。

280 :デフォルトの名無しさん:2008/10/31(金) 05:39:47
鳥付けても自演は防げないじゃん
節穴かIDじゃないと駄目だろ

281 :280:2008/10/31(金) 08:07:04
やっぱり鳥だけでいいな
少なくともこの板では

282 :280:2008/10/31(金) 08:26:38
あーなんか面倒くさいし全部なしでいいや

283 :デフォルトの名無しさん:2008/10/31(金) 08:43:00
他所でやれ

284 :デフォルトの名無しさん:2008/10/31(金) 11:51:21
>>278
頭悪

285 :デフォルトの名無しさん:2008/10/31(金) 11:55:45
ID変えればいくらでも自演できる
むしろ強制IDの方が複数回線使った荒らしの温床になる

286 :デフォルトの名無しさん:2008/10/31(金) 11:56:52
自演はできても騙りはできなくなるだろ。

287 :デフォルトの名無しさん:2008/10/31(金) 11:58:07
昼休み

288 :デフォルトの名無しさん:2008/10/31(金) 11:59:18
自演は可能だろうけどこのスレで問題なのって自演じゃねーじゃん
騙りじゃん

289 :デフォルトの名無しさん:2008/10/31(金) 12:02:09
日付変わるとID変わるのでそのタイミングで騙りもできる
そもそも騙りができなくなったとしても荒らしは減らない

290 :デフォルトの名無しさん:2008/10/31(金) 12:16:21
>>284-289
>>283

プログラム板自治スレッド その2
http://pc11.2ch.net/test/read.cgi/tech/1051039126/l50

291 :デフォルトの名無しさん:2008/10/31(金) 12:35:25
ここでいいよ

292 :デフォルトの名無しさん:2008/10/31(金) 12:40:20
俺もここでいいと思う

293 :デフォルトの名無しさん:2008/10/31(金) 12:41:55
俺もWin32APIの話はここでいいと思う

294 :デフォルトの名無しさん:2008/10/31(金) 13:06:54
>>289
っていう奴がどの自治スレでも出るんだけど
いざ導入してみるとどの板でも荒らしはほとんどいなくなるから不思議

荒らす奴もID変えてする奴はほとんどいない
ようはそこまで手間かけて荒らす奴なんて稀って事だな

295 :デフォルトの名無しさん:2008/10/31(金) 13:16:09
強制IDでも荒れてるスレなんていくらでもあるが

296 :デフォルトの名無しさん:2008/10/31(金) 13:36:19
それが何か?

297 :デフォルトの名無しさん:2008/10/31(金) 13:52:30
↑話を理解してない馬鹿

298 :デフォルトの名無しさん:2008/10/31(金) 14:03:47
↑話を理解してない馬鹿

299 :デフォルトの名無しさん:2008/10/31(金) 14:04:15
↑話を理解してない馬鹿

300 :デフォルトの名無しさん:2008/10/31(金) 14:05:57
↑話を理解してない馬鹿

301 :デフォルトの名無しさん:2008/10/31(金) 14:06:01
↓話を理解してない馬鹿

302 :デフォルトの名無しさん:2008/10/31(金) 14:06:32
↑話を理解してない馬鹿↓

303 :デフォルトの名無しさん:2008/10/31(金) 14:08:14
→話を理解してない馬鹿

304 :デフォルトの名無しさん:2008/10/31(金) 14:11:22
>>297-303
IDの出ない板で荒れる例

305 :デフォルトの名無しさん:2008/10/31(金) 14:15:24
流れぶった切ってすみません

OSのタスクスケジューラーにタスクを追加するAPIは存在しますか?
テレビの録画ソフトとかでタスクスケジューラーを使ってるものが
あったので調べてみたんですがわかりませんでした

コマンドラインで出来るらしいのですが登録するたびにパスを入力
しないといけないみたいです

306 :デフォルトの名無しさん:2008/10/31(金) 14:18:41
>>305
ttp://msdn.microsoft.com/en-us/library/aa383614.aspx

307 :デフォルトの名無しさん:2008/10/31(金) 14:24:22
>>306
ありがとうござます><;

308 :デフォルトの名無しさん:2008/10/31(金) 14:38:42
ID導入があるとしたら管理者の便宜の為だけ。


309 :デフォルトの名無しさん:2008/10/31(金) 14:43:21
うるせー馬鹿

310 :デフォルトの名無しさん:2008/10/31(金) 14:43:52
馬鹿うるせー

311 :デフォルトの名無しさん:2008/10/31(金) 15:12:16
>>297-303とか>>309-310
みたいな流れを見るたびに、なんか虫みたいで気持ち悪く感じる。
まぁ、これに関してはID制の話の流れでわざとやってんのかなとも思うけど。

312 :デフォルトの名無しさん:2008/10/31(金) 15:19:02
いつもの事だろw
スルーしておけばいいだけ

313 :デフォルトの名無しさん:2008/10/31(金) 15:26:48
どうせID賛成派が自演で荒らしてるんだろ

314 :デフォルトの名無しさん:2008/10/31(金) 15:31:20
MDIでウィンドウを沢山作って最大化したときに上の方にタブ型になるには
どうすればいいですか?タブブラウザを作ろうと思ってます

315 :デフォルトの名無しさん:2008/10/31(金) 15:32:26
>>304
>>297-303なんて強制IDの板でも普通にあるだろ。
これに限って言えば抑止力にはならん。

そんなことよりWin32APIの話しようぜ。

316 :デフォルトの名無しさん:2008/10/31(金) 15:32:27
最大化された時に上の方にタブを出せばよい

317 :314:2008/10/31(金) 15:37:52
最大化したときに自動でMDI式からタブ式に変わるような設定とか無いですか?
DonutはそうなってるけどDonutnoソース見たけど分かりませんでした

318 :デフォルトの名無しさん:2008/10/31(金) 15:40:58
そんなことよりID制の話しようぜ。

319 :デフォルトの名無しさん:2008/10/31(金) 15:41:32
ウィンドウ関係をクラス化しようとSetProp使ってクラスのポインタ保存しようとしたらなんかエラー出た・・・
原因分かる人いる?

320 :デフォルトの名無しさん:2008/10/31(金) 15:42:53
いないからID制の話しようぜ。

321 :デフォルトの名無しさん:2008/10/31(金) 15:44:30
さっさとID制の話しようぜ。

322 :デフォルトの名無しさん:2008/10/31(金) 15:50:03
MDI形式って一度も使ったことない。
後ろが隠れるのがデメリットに思えてしょうがない。
便利ですか?

323 :デフォルトの名無しさん:2008/10/31(金) 15:53:21
>>322
だって並べて見比べられるんだぜ?

324 :デフォルトの名無しさん:2008/10/31(金) 16:19:20
便利でも何でもいいからID制の話しようぜ。

325 :デフォルトの名無しさん:2008/10/31(金) 16:20:03
IDの話なんかどうでもいいからAPIの話しようぜ。

326 :デフォルトの名無しさん:2008/10/31(金) 16:21:10
ネットワークのAPIの本って意外にすくないね。WinSOck2プログラミングっていうのがあるけど
高い。

327 :デフォルトの名無しさん:2008/10/31(金) 16:22:26
ネットワークAPIの本は少ないからIDの話しようぜ。

328 :デフォルトの名無しさん:2008/10/31(金) 16:33:47
MDIはMSも見捨てた過去のUI

329 :デフォルトの名無しさん:2008/10/31(金) 16:37:51
>>326
API自体は昔からあるソケットの資産を
Windowsに合わせてイベントハンドラ追加したりしてチューニングしたもんだから
あんま書くこと無いんだよ

>>319
SetPropとGetPropしてるところ書けよ

330 :デフォルトの名無しさん:2008/10/31(金) 18:43:08
やだね

331 :デフォルトの名無しさん:2008/10/31(金) 18:49:39
そうつれないこと言わずにお願いしますよ〜

332 :デフォルトの名無しさん:2008/10/31(金) 19:24:37
IDEにある、ソリューションエクスプローラーとか、ああいうウィンドウが
はまってるのは、MDIじゃないのけ?

333 :デフォルトの名無しさん:2008/10/31(金) 20:09:03
>>317
Donutは普通のMDIにタブも付けているだけ。
良く見ろ、最大化していなくてもタブがある。


334 :デフォルトの名無しさん:2008/10/31(金) 22:42:01
ドッキングウィンドウはMDIとはまた違うが
MDIと併用するのもまた事実

335 :デフォルトの名無しさん:2008/10/31(金) 22:52:45
ハァ?

336 :デフォルトの名無しさん:2008/10/31(金) 22:59:58
ハァ(笑)

337 :デフォルトの名無しさん:2008/10/31(金) 23:01:09
ナからぎゅ〜にゅ〜

338 :デフォルトの名無しさん:2008/11/01(土) 00:24:27
ドッキングウィンドウをダブルクリックすると単独のウィンドウに
なるよね。あれはMDIなのかな。どうなのかな。

339 :デフォルトの名無しさん:2008/11/01(土) 00:38:22
MoveToEx()→LineTo()で直線描くと最後の点が描画されないんだけど、
なんか描く方法はないですか?
ペイントみたいなのの勉強してて、
ペイントだとクリックした瞬間にその点が塗られるから、それを実現したい。
当然ながら、最後にマウスを離した点も描画したい。


340 :デフォルトの名無しさん:2008/11/01(土) 00:42:52
結局WinAPI

341 :デフォルトの名無しさん:2008/11/01(土) 00:42:55
始点を保持しとけ

342 :デフォルトの名無しさん:2008/11/01(土) 00:44:04
ミスると書く気なくなるよね

343 :デフォルトの名無しさん:2008/11/01(土) 01:17:19
ドッキングウィンドウって昔からあったっけ?
新機能で途中から追加されたものなの?
MDIとは一線を画するものなの?

344 :デフォルトの名無しさん:2008/11/01(土) 09:13:25
Document/Viewモデル的にMDIであれば、
タブとかドッキングとかその他変態スタイルに関係なくMDI。

345 :デフォルトの名無しさん:2008/11/01(土) 12:12:06
>>339
最後の点だけSetPixelVで描けばいいだろ

346 :デフォルトの名無しさん:2008/11/01(土) 13:21:20
MDIはMSも見捨てた過去のUI

347 :デフォルトの名無しさん:2008/11/01(土) 14:48:49
ExcelがMDIに見えるのは目の錯覚なのです

348 :デフォルトの名無しさん:2008/11/01(土) 16:00:16
でも、グラフィックエディタなんかは、切った貼ったやるんだから
どうやってもMDIになるだろう。不必要ってわけでもなかろう。

349 :デフォルトの名無しさん:2008/11/01(土) 16:10:45
大分当初の話から脱線してるなあ

350 :デフォルトの名無しさん:2008/11/01(土) 16:34:11
>>343
昔からあったけどデフォの機能としては、Windows2000が出るころまでなかったかもしれない。


351 :デフォルトの名無しさん:2008/11/01(土) 16:52:46
おまえにドッキング

352 :デフォルトの名無しさん:2008/11/01(土) 16:55:41
>>350
もっと前からあっただろ

353 :デフォルトの名無しさん:2008/11/01(土) 17:29:49
どの版からかは知らんがMFCに実装されたのが初出なんじゃないの
つーかこのスレの人はやっぱMFCなんて糞食らえなの?

354 :デフォルトの名無しさん:2008/11/01(土) 17:43:44
というかMFCやWTLを使わずにWin32SDK onlyでプログラム作る方が糞
車輪の再発明というより時間と労力の無駄

355 :デフォルトの名無しさん:2008/11/01(土) 17:44:39
MFCぜんぜんわかんないから直接API叩いてる人たちのスレですよ。

356 :デフォルトの名無しさん:2008/11/01(土) 17:48:02
ATL/WTLでいいじゃん

357 :デフォルトの名無しさん:2008/11/01(土) 18:01:35
>>353
このスレの人=社会の糞

358 :デフォルトの名無しさん:2008/11/01(土) 18:02:14
MFCの謎な仕様に頭を悩ます位なら自分で薄いラッパ書いちゃえ
と思うことはよくある

359 :デフォルトの名無しさん:2008/11/01(土) 18:06:21
ATL/WTLでいいじゃん

360 :デフォルトの名無しさん:2008/11/01(土) 18:11:14
貧乏な俺はExpressEditionなのでMFCもATLも・・・

361 :デフォルトの名無しさん:2008/11/01(土) 18:22:19
>>360
プログラマならシェアウェア作ってカネ貯めてStandard以上を買え

362 :デフォルトの名無しさん:2008/11/01(土) 18:31:18
体験版に全部入ってるお(^ω^;)

363 :デフォルトの名無しさん:2008/11/01(土) 18:37:02
質問です。GetDlgItemIntの戻り値が常にUINTなんですが、引数の符号でTRUEを渡した場合には、
単純にキャストしても安全なのでしょうか。

364 :デフォルトの名無しさん:2008/11/01(土) 18:37:59
Win32APIしか知らないのは糞。
Win32APIの知識が無いのにMFC使ってるのも糞。

365 :デフォルトの名無しさん:2008/11/01(土) 18:42:00
本来APIの知識がなくてもMFCが使えるべきだと思うが・・・

366 :デフォルトの名無しさん:2008/11/01(土) 18:44:04
>>363
大丈夫。というか、整数値と互換性のある基本型なら大抵大丈夫。

367 :デフォルトの名無しさん:2008/11/01(土) 18:47:33
MFCはWin32の低レベルラッパ

368 :デフォルトの名無しさん:2008/11/01(土) 18:57:02
>>355
あなた、両方わかんないのがバレバレですよ

369 :デフォルトの名無しさん:2008/11/01(土) 18:59:35
Win32APIでまじめにC++キャスト使うと
reinterpret_cast<>しまくりで疲れる

370 :デフォルトの名無しさん:2008/11/01(土) 19:15:55
リッチエディットを使ったプログラム書いてるんですけど、
フォーカスが無いときでも文字が追加されたら追加された箇所が見える位置にくるように浮くロールバーを上下させたいのですが、メッセージ送るだけじゃ無理ですか?

EM_LINESCROLL
EM_SCROLLCARET
EM_SCROLL
EM_SETSEL
は試しましたがいずれもフォーカスを持った状態でないと機能しませんでした。


371 :デフォルトの名無しさん:2008/11/01(土) 19:39:59
SetFocus

372 :デフォルトの名無しさん:2008/11/01(土) 19:40:48
SetFocus

373 :デフォルトの名無しさん:2008/11/01(土) 19:42:05
大(略

374 :デフォルトの名無しさん:2008/11/01(土) 19:54:34
(略

375 :デフォルトの名無しさん:2008/11/01(土) 20:11:12
略しすぎ

376 :デフォルトの名無しさん:2008/11/01(土) 20:14:04
>365
確かに CSpinButtonCtrl にはがっかりだった。

377 :デフォルトの名無しさん:2008/11/01(土) 20:19:39
>>371-372
リッチエディットのハンドルと親のハンドルで試してもダメでした。

それどころかSetActiveWindowも反応無いのはどういうこと?

378 :デフォルトの名無しさん:2008/11/01(土) 21:09:57
浮くロールバーって何?

379 :デフォルトの名無しさん:2008/11/01(土) 21:21:25
ごめんなさいorz
スクロールバーです、sが抜けました。

380 :デフォルトの名無しさん:2008/11/01(土) 21:22:30
でも、浮くロールバーもあってもいいよな

381 :デフォルトの名無しさん:2008/11/02(日) 14:01:43
エクスプローラのツリーでフォルダの横に付いてる+マークをクリックしたときに贈られるメッセージはなんですか?
spy++でツリー、WM_Notifyの項目をみてもなにも送られてこないんです。
アプリ、フォルダウィンドウ、TreeCtlr?どこを見てもフォルダ展開のメッセージが出てきません。どうやったら確認できるんですか?

382 :デフォルトの名無しさん:2008/11/02(日) 14:06:17
TVN_ITEMEXPANDED, TVN_ITEMEXPANDING

383 :デフォルトの名無しさん:2008/11/02(日) 15:47:47
どうやったら確認できるんですか?

384 :デフォルトの名無しさん:2008/11/02(日) 15:50:11
Windowsしか知らないのは糞。
Windowsの知識が無いのにUNIX使ってるのも糞。


385 :デフォルトの名無しさん:2008/11/02(日) 15:59:18
いきなりどうした。
何かいやな事でもあったのか。

386 :デフォルトの名無しさん:2008/11/02(日) 16:00:31
Notifyがよくわかりません。これでフォルダを展開したときにメッセージボックスを表示させたいんですがどうすればいいですか?
lParam->codeにそのメッセージがはいってるんじゃないんですか?

BOOL CViewTree::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
 BOOL bRes = CTreeCtrl::OnNotify(wParam, lParam, pResult);

 NMHDR* pNMHDR = (NMHDR*)lParam;
 ASSERT(pNMHDR != NULL);

 if (pNMHDR && pNMHDR->code == TTN_SHOW && GetToolTips() != NULL)
 {
  GetToolTips()->SetWindowPos(&wndTop, -1, -1, -1, -1, SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOSIZE);
 }

 switch( ((NMHDR*)lParam)->code ) {
  case TVN_ITEMEXPANDING:
   *pResult = TRUE;
   AfxMessageBox(_T("test open"));
 }

 return bRes;
}



387 :デフォルトの名無しさん:2008/11/02(日) 16:48:32
デバッグでもしろよ…

388 :デフォルトの名無しさん:2008/11/02(日) 17:04:03
ごめんスレまちがえた

389 :386:2008/11/02(日) 17:56:46
スレ間違えたのでしめます

390 :386:2008/11/02(日) 18:14:05
>>387
383の書き込みは自分じゃありません。気を悪くしていたらと思い言っておきます。


391 :デフォルトの名無しさん:2008/11/02(日) 23:50:55
〜INGなメッセージや通知コードでMessageBoxを出すなんて随分と行儀の悪いアプリだな

392 :デフォルトの名無しさん:2008/11/02(日) 23:52:55
ただの動作テストでしょ。重角にも程が。

393 :デフォルトの名無しさん:2008/11/02(日) 23:59:57
ファイルを開くダイアログで10秒くらい放置すると落ちるソフトがたまにあるけど、あれはどういうバグなの?

394 :デフォルトの名無しさん:2008/11/03(月) 00:22:07
時限爆弾

395 :デフォルトの名無しさん:2008/11/03(月) 02:16:42
タスクトレイにアイコンのみ表示させている状態から2重起動しようとした場合、
元のウインドウを表示させ、タスクトレイのアイコンを消したうえで、アクティブにしたいのですが、
どの関数を使ったらよいでしょうか?
ShowWindowでは元のウインドウは表示されませんでした。

396 :デフォルトの名無しさん:2008/11/03(月) 03:55:29
元のウインドウにShowWindowすればいいだろ

397 :デフォルトの名無しさん:2008/11/03(月) 10:18:31
2重起動で気になってたんだけどcreatemetexの後
messagebox(NULL,〜 起動していますと表示させようとしたら
.exeをクリックするたびに何度でも表示される。
ふつーのmessagebox(hwnd,〜みたいに一度しか表示されないようには
できないの?NULLをhwndにしたら何も表示されなくなった。起動は防げてるけど。

398 :デフォルトの名無しさん:2008/11/03(月) 11:25:18
誰か>>397の翻訳頼む

399 :デフォルトの名無しさん:2008/11/03(月) 11:34:40
mutexわかんね

400 :デフォルトの名無しさん:2008/11/03(月) 12:12:25
mutexではありません
metexです

401 :デフォルトの名無しさん:2008/11/03(月) 12:15:09
latex?

402 :デフォルトの名無しさん:2008/11/03(月) 13:16:45
>>397
起動したプロセスごとに MessageBox が表示されているんだろうから、
そうなって当たり前だろうに。

403 :デフォルトの名無しさん:2008/11/03(月) 13:27:18
>>397
は無視してくれ…

404 :デフォルトの名無しさん:2008/11/03(月) 14:28:50
すみません、APIでマウスオーバー時だけ浮き上がるフラットツールバーを作成しようとするとツールバーの背景がおかしくなります。助けてください

405 :デフォルトの名無しさん:2008/11/03(月) 14:42:26
ある有効なHDCが有ったとしてこれをhdcとした時

HDC h=::CreateCompatibleDC(hdc);
::SelectObject(h,(HFONT)::GetCurrentObject(hdc,OBJ_FONT));
〜GetTextExtentPoint32で使う〜
::DeleteDC(h);


という風に使ってるんだけど、2行目でGetCurrentObjectしたものはDeleteとかReleaseしなくていいんだよね?
コンパチDCはハンドル削除するだけでいいんだよね?

406 :デフォルトの名無しさん:2008/11/03(月) 14:56:38
削除する前にSelectする前の状態に戻さなくてはならない

407 :デフォルトの名無しさん:2008/11/03(月) 14:57:36
SelectObjectの戻りを保存しる

408 :デフォルトの名無しさん:2008/11/03(月) 15:24:46
>>406,407ありがd。仲いいな

409 :デフォルトの名無しさん:2008/11/03(月) 23:30:08
>>406-407
こういう場合ってDeleteDCする前に戻す必要無くね?

410 :デフォルトの名無しさん:2008/11/03(月) 23:51:56
GDIのソースでも読まない限り、正確なところは判らない。
ただ、戻しておけば大丈夫な事は確かだ。

411 :デフォルトの名無しさん:2008/11/04(火) 00:46:44
MSDNに戻せと書いてある以上、戻すのがまともなプログラマです。

412 :デフォルトの名無しさん:2008/11/04(火) 00:51:49
面倒だからSaveDC/RestoreDCっすよねー

413 :デフォルトの名無しさん:2008/11/04(火) 00:51:53
Windowsがダメなところは、ダメなプログラムでも動くように努力してしまったところ

414 :デフォルトの名無しさん:2008/11/04(火) 00:58:54
悪貨は良貨を駆逐するという言葉が脳裏によぎる。

415 :デフォルトの名無しさん:2008/11/04(火) 01:31:30
SelectObjectしたままだとDeleteObjectできなくなるから
使用後はとりあえず元のオブジェクトに戻しておけば無難ってだけだろ
だからストックオブジェクトをSelectObjectした場合などは戻す必要は無いし、
>>405の場合にしても他のDCのオブジェクトを借りてるだけだから戻さなくてもいい

その程度も知らずに「まともなプログラマ」「ダメなプログラム」を語る奴がいるとは片腹痛いわ

416 :デフォルトの名無しさん:2008/11/04(火) 01:46:08
という風に長々と説明するのがアホらしいから戻す

417 :デフォルトの名無しさん:2008/11/04(火) 01:53:28
ダメなプログラムでも動くというのは、構造体のサイズをサイズをセットしなくても動くとか
いろいろあるよ

418 :デフォルトの名無しさん:2008/11/04(火) 01:57:38
そこでwineのソースですよ

419 :デフォルトの名無しさん:2008/11/04(火) 07:44:05
>414
それは意味が違う。言いたいことはわかるが、誤用だ。

420 :デフォルトの名無しさん:2008/11/04(火) 08:50:16
良貨は悪貨を駆逐する

421 :デフォルトの名無しさん:2008/11/04(火) 08:51:18
ストックオブジェクトをSelectObjectした場合に
DeleteObjectすると死ねますか

422 :デフォルトの名無しさん:2008/11/04(火) 09:09:14
DeleteObject 関数を呼び出してストックオブジェクトを削除する必要はありません(削除しても問題はありません)。

423 :デフォルトの名無しさん:2008/11/04(火) 09:12:13
GetSysColorBrushは?

424 :デフォルトの名無しさん:2008/11/04(火) 10:29:01
SaveDCとRestoreDCを使えばそんなことで悩む必要無いのに。

425 :デフォルトの名無しさん:2008/11/04(火) 12:40:13
DeleteObject は知らんけど
Release して死んだことはあるな

426 :デフォルトの名無しさん:2008/11/04(火) 13:46:37
(HBRUSH)(COLOR_WINDOW+1)とかで適当なHBRUSHオブジェクトになるのはどうして?

427 :デフォルトの名無しさん:2008/11/04(火) 13:53:20
一定の数以下は数字を指定したと判断して中でブラシ用意してるんだろう。
なんで+1なのかは、ヌルのブラシも許されてるから、中で1引いてるんだろうw

428 :デフォルトの名無しさん:2008/11/04(火) 15:26:58
WNDCLASS(EX)やFillRectは>>426の書き方が出来るのに
なぜかFrameRectでは出来ないんだよなw

429 :デフォルトの名無しさん:2008/11/04(火) 15:29:56
>>428
境界線だけだからじゃね?

>426 タイプのリソースの本体は、実はパターンなブラシかもしれないしね

430 :デフォルトの名無しさん:2008/11/04(火) 15:47:49
int FillRect(HDC hDC, CONST RECT *lprc, HBRUSH hbr) {
 if ((UINT)hbr <= COLOR_MENUBAR)
  hbr = g_hbrSysColor[(UINT)hbr];

 // 実際の描画処理 (PatBlt系を呼び出す)
}

FillRect等で定数が指定できるのはこうやって内部で辻褄合わせてるから。
FrameRectでそれができないのは単なるAPIのバグか設計ミスだろう

431 :デフォルトの名無しさん:2008/11/04(火) 15:48:48
0のときのための処理を忘れてるw

432 :デフォルトの名無しさん:2008/11/04(火) 15:48:51
いい加減だ

433 :デフォルトの名無しさん:2008/11/04(火) 15:55:02
GetSysColorBrush使えということで勘弁してください。

434 :デフォルトの名無しさん:2008/11/04(火) 15:55:58
>>431
スマン、適当に書きすぎたw -1しないとダメだね。
まあ言いたいのは最後の一行だから気にしないでくれ。

WNDCLASS(EX)でできるのは、多分DefWindowProcのWM_ERASEBKGNDの処理が
WNDCLASS(EX)::hbrBackgroundでFillRectしているだけなんだろう

435 :デフォルトの名無しさん:2008/11/04(火) 19:13:50
ウインドウアプリもしくはコンソールアプリ共通で使える.exeを作りたいと思っています。
その場合の標準出力の仕方について教えてください。

 (a) コンソールアプリとして使う場合
   - CreateWindowで画像を表示するウインドウを作る
   - 標準出力としてログを取りたい

 (b) ウインドウアプリとして使う場合
   - CreateWindowで画像を表示するウインドウを作る
   - ファイルドロップでプログラムを起動させたい
   - 標準出力のログは不要

AllocConsoleを使えばコンソールに文字列を出すことができるのは分かるのですが、
コマンドプロンプトから実行したときに別のコンソールウインドウを出してしまうため、
リダイレクトでログを取ったりすることができません。
一方、コンソールアプリとしてビルドすると、ファイルドロップ時にやはり
別のコンソールウインドウを出してしまうため、美しくありません。

コマンドプロンプトから起動した場合のみ標準出力をする良い方法はないでしょうか?

436 :デフォルトの名無しさん:2008/11/04(火) 19:22:41
CreateToolhelp32Snapshotでプロセスのスナップショットを取ると親プロセスのIDが取れる
なんかの役には立つかも

437 :デフォルトの名無しさん:2008/11/04(火) 19:32:57
attachconsole

438 :435:2008/11/04(火) 19:46:10
>>437
ありがとうございます。
期待している動作をさせることができました!!

>>436
こちらも情報ありがとうございます。
AttachConsoleはWinXP以降で対応ということなので、
Win2k以前の対応を迫られたときに再度検討したいと思います。


あとはコンソールアプリとして使う場合にバッチ処理に少々困る(即時復帰してしまう)ことがあるのですが、
| type nul を後ろにくっつけてコマンドプロンプトをブロッキングするという方法で代用しようと思います。

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

439 :デフォルトの名無しさん:2008/11/04(火) 22:02:40
start /wait

440 :デフォルトの名無しさん:2008/11/04(火) 22:12:14
>>435
AttachConsoleもAllocConsoleもいらないよ
GetStdHandleだけでいいよ
アプリ|more
アプリ>ファイル

441 :435:2008/11/04(火) 23:23:49
>>439
言われて思い出しました、ありがとうございます。

>>440
GetStdHandleだと0x00000000が戻ってきて、標準出力で正しく出力されないようでした。
もう一度確認してみます。

442 :デフォルトの名無しさん:2008/11/05(水) 00:28:49
アプリ|more
アプリ>ファイル
しないとだめよ

443 :435:2008/11/05(水) 00:59:45
>>442
たびたびすいません。

> アプリ|more
> アプリ>ファイル
でやってみましたが、やはり標準出力に書いたはずの文字列はうまく表示されませんでした。
うーむ・・・。

444 :デフォルトの名無しさん:2008/11/05(水) 02:16:36
嘘を教えたがる奴がいるみたいだな
>>440とか>>442とか

騙る奴もそうだが、この手の連中って何が目的なんだろうね

445 :386:2008/11/05(水) 03:05:17
自分の質問をスルー、クズ扱いされていたちごっこになってるだけだと思われ

446 :デフォルトの名無しさん:2008/11/05(水) 04:46:36
叩かれたから叩き返すってか


クソガキが


447 :デフォルトの名無しさん:2008/11/05(水) 05:10:43
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け

448 :デフォルトの名無しさん:2008/11/05(水) 05:45:00
ゲシュタルト崩壊キタコレ

449 :デフォルトの名無しさん:2008/11/05(水) 07:59:09
明日はどっちだ

450 :デフォルトの名無しさん:2008/11/05(水) 08:09:03


451 :デフォルトの名無しさん:2008/11/05(水) 08:52:50
古代ギリシア人に言わせると前にあるのが過去で、未来は後ろにあるもんだそうな。
曰く「過去は見ることができるが、未来は見えない」

452 :デフォルトの名無しさん:2008/11/05(水) 09:11:39
過去は光速で遠ざかっていく
未来は光速で向かってくる

453 :デフォルトの名無しさん:2008/11/05(水) 12:51:21
>>435
変なことしてなきゃふつうにできるはずだが
変なことしてないか?標準エラーを見てるとか?

454 :デフォルトの名無しさん:2008/11/05(水) 14:44:35
>>453
なぜ嘘を教えたいの?

455 :デフォルトの名無しさん:2008/11/05(水) 15:12:25
アプリ間でデータのやり取りをしたいのですが
SendMessageのWM_COPYDATA以外になにか方法はありますか?

456 :デフォルトの名無しさん:2008/11/05(水) 15:18:59
共有メモリとかネームドパイプとか

457 :デフォルトの名無しさん:2008/11/05(水) 16:14:18
WM_ENABLEって、以下のように状態が変わらないと発生しないようなのですが、
その挙動はどこかで保証されていますでしょうか?

EnableWindow(FALSE); // ここでは発生する
EnableWindow(FALSE); // ここでは発生しない
EnableWindow(FALSE); // ここでは発生しない
EnableWindow(TRUE);  // ここでは発生する
EnableWindow(TRUE);  // ここでは発生しない
EnableWindow(TRUE);  // ここでは発生しない

458 :デフォルトの名無しさん:2008/11/05(水) 16:37:03
>>456
共有メモリって簡単にできる?
どっか参考になるサイト教えてくださいよ

459 :デフォルトの名無しさん:2008/11/05(水) 16:49:01
そのくらいググれよw
キーワードは「プロセス間通信」あたりで

460 :デフォルトの名無しさん:2008/11/05(水) 16:50:41
Windowsの場合、メモリマップドファイルで探すといいかも

461 :デフォルトの名無しさん:2008/11/05(水) 17:18:28
>>457
If the window is being disabled, the system sends a WM_CANCELMODE message.
If the enabled state of a window is changing, the system sends a WM_ENABLE message
after the WM_CANCELMODE message. (These messages are sent before EnableWindow returns.)
If a window is already disabled, its child windows are implicitly disabled,
although they are not sent a WM_ENABLE message.


なんでこの馬鹿はMSDNを見ないのだろうねぇ

462 :デフォルトの名無しさん:2008/11/05(水) 17:24:19
知らないならレスしないで下さい。非常に不愉快です。

463 :デフォルトの名無しさん:2008/11/05(水) 18:32:02
>>459
とりあえずそれでググってみるわ
>>460
それめんどかった

464 :デフォルトの名無しさん:2008/11/05(水) 18:40:38
メモリマップドファイル程度でメンドイとなるとアトムくらいしか残ってないんじゃねーかw?
パイプはもっとめんどいぞw

465 :デフォルトの名無しさん:2008/11/05(水) 18:44:01
Windowsだと共有メモリはメモリマップドファイルで実現する方法が普通なので
面倒なら共有メモリは使わない、ということでいいのかな。
きまりきった関数を決まった順番で呼ぶだけだけどな。

466 :デフォルトの名無しさん:2008/11/05(水) 18:45:09
おまえらメモリマップドファイルメモリマップドファイルってうるさい奴だなしなし
どうせそれしか知らないんだろ?

467 :デフォルトの名無しさん:2008/11/05(水) 18:49:56
通信する内容・形態によるからな。そういうこと書いてないなら、
メモリ空間を共有するメモリマップドファイルなら何にでも対応できるからそれを勧めるだろう。

468 :デフォルトの名無しさん:2008/11/05(水) 18:51:14
ごめんなさいメモリマップドファイルを勉強してきます

469 :デフォルトの名無しさん:2008/11/05(水) 19:01:32
僕がメモリマップドファイルです。

470 :デフォルトの名無しさん:2008/11/05(水) 19:02:45
せっかくWinAPI覚えたから、グラフィックでランダムに幾何学的な
グラフィック表示をして、印刷して、今年の年賀状を送ろう。

471 :デフォルトの名無しさん:2008/11/05(水) 19:06:49
メモリマップトファイルが面倒なら普通のファイル使っちゃえよもう。

472 :デフォルトの名無しさん:2008/11/05(水) 19:09:00
>>470
メモリマップドファイルで送るんですね。わかります。

473 :デフォルトの名無しさん:2008/11/05(水) 20:22:54
アプリ|more
アプリ>ファイル
で標準出力が割り当てられて、CreateProcessでinheritされるだろ?
それをGetStdHandleで取れるだろ?

474 :デフォルトの名無しさん:2008/11/05(水) 20:24:17
疑問形にするくらいなら、自分で試してみてから答えればいいのに。

475 :デフォルトの名無しさん:2008/11/05(水) 20:25:21
付加疑問文って中学校で習わないか?

476 :デフォルトの名無しさん:2008/11/05(水) 20:50:24
Did you learn about this, didn't you?

477 :デフォルトの名無しさん:2008/11/05(水) 20:50:50
スタートメニューの最近開いたアプリケーションの一覧に
任意のアプリを追加するのってどうやんのすか?
なんかのCOMインターフェイスでも取得するんのかな

478 :デフォルトの名無しさん:2008/11/05(水) 21:35:38
documents and settings\hoge\recent
にショートカットを作ればいいよ


479 :デフォルトの名無しさん:2008/11/05(水) 21:38:03
AddRecent

480 :デフォルトの名無しさん:2008/11/05(水) 22:01:13
うそーん

481 :デフォルトの名無しさん:2008/11/05(水) 22:06:11
「最近使ったファイル」ならSHAddToRecentDocs
「最近使ったプログラム」だったらたぶんレジストリ

482 :デフォルトの名無しさん:2008/11/05(水) 22:42:16
それはユーザが決めるところだから、プログラムから触る手段を作らなかったって話のやつだな。
http://blogs.msdn.com/oldnewthing/archive/2003/09/03/54760.aspx

483 :デフォルトの名無しさん:2008/11/05(水) 22:54:05
ユーザーとプログラマのどちらを優先させるかで、
昔はプログラマを信用してAPIを提供してたたけど、
歴史的に見てウゼーアプリが多いから信用しませんよ、
みたいな話だな

484 :デフォルトの名無しさん:2008/11/05(水) 22:57:11
>>482
納得しました。ありがとうございました

485 :デフォルトの名無しさん:2008/11/05(水) 22:59:49
何でもかんでもプログラムで制御しようとする発想が間違いなんだよ
ユーザーはそんな事は望んでいない、単なるプログラマのエゴだ


強引にSetForegroundWindowするアプリ
ダイアログのOKボタンに勝手にマウスカーソルを移動するアプリ

486 :デフォルトの名無しさん:2008/11/05(水) 23:01:44
まああまりお行儀が良いとは言えないよな
自分しか使わないアプリってならともかく、ユーザにことわりを
入れなければいけないレベル

487 :デフォルトの名無しさん:2008/11/05(水) 23:05:34
未だにCドライブの直下にわけわからんファイル残す糞アプリとかあるし

488 :デフォルトの名無しさん:2008/11/05(水) 23:11:52

∧_∧
     o/⌒( ゚д゚ )つ 話がズレているぞ
     と_)__つノ

489 :デフォルトの名無しさん:2008/11/05(水) 23:15:22
c:\sqmdata00.sqm

490 :デフォルトの名無しさん:2008/11/05(水) 23:21:30
プログラムランチャが実行したアプリを登録するオプションを持つくらいだったらいいと思うんだが
まあ認めたらずるずるになるから仕方ないか

491 :デフォルトの名無しさん:2008/11/05(水) 23:25:01
Cドライブ直下ならまだマシ
アンインストールしてもC:\Windows以下にわけわからんゴミを大量に残す糞ソフトもあるからな
.NETとか

492 :デフォルトの名無しさん:2008/11/05(水) 23:27:01
MS様が自分のOSにどんな糞をひろうが勝手だろ

493 :デフォルトの名無しさん:2008/11/05(水) 23:28:34
下手するとアンインストールできないこともあるIEよりはまし。

494 :デフォルトの名無しさん:2008/11/05(水) 23:45:09
ダウンロードしたexeを実行すると自動でsystem32にインストール。
主要なファイル形式数十種類に自動で関連付け。
各ユーザのデスクトップ、スタートアップ、クイック起動へ自動でショートカットを登録。
万一、他のソフトが関連付けを解除してしまったり、常駐を解除してしまっても自動で修復。
1時間おきにインターネット接続して、常に最新の状態に自動でアップデート。
インストーラが全ユーザを自動で管理者権限にしてUACも解除してくれるので、
どのユーザーアカウントでも快適に使用可能。
アンインストール機能が無いので間違って削除してしまう心配は無い。
その上、もし手動でファイルを削除してしまっても自動で修復して復旧するので安心。

つまり、
行儀が悪いソフト≒初心者に優しいソフト
ということ。

495 :デフォルトの名無しさん:2008/11/05(水) 23:52:42
初心者プログラマにも易しいよね

496 :デフォルトの名無しさん:2008/11/06(木) 00:02:02
PC初心者に優しいスパイウェアですね、わかります

497 :デフォルトの名無しさん:2008/11/06(木) 09:07:25
>>487
おっとハンゲームの悪口はそこまでだ

498 :デフォルトの名無しさん:2008/11/06(木) 14:01:24
>>485
>ダイアログのOKボタンに勝手にマウスカーソルを移動するアプリ

これ危なすぎるよな
他人のPC使うときに何度痛い目にあったか
そいつはなんとも思ってないらしいが・・・


499 :デフォルトの名無しさん:2008/11/06(木) 14:04:52
勝手にIMEのモードを変えるのもやめてほしい

500 :デフォルトの名無しさん:2008/11/06(木) 14:09:33
たしかにエディットボックスが強制数字入力だったり、パスワードが伏字にされたりすると、
強制されてるみたいでいやだ

501 :デフォルトの名無しさん:2008/11/06(木) 14:18:48
パスワードが伏字じゃないと怖くて使えない

502 :デフォルトの名無しさん:2008/11/06(木) 14:26:45
だったら使うな

503 :デフォルトの名無しさん:2008/11/06(木) 14:35:03
じゃあパスワードが伏字じゃないソフトを教えてくれよ
使わないようにするからさ。

504 :デフォルトの名無しさん:2008/11/06(木) 14:42:51
ちゃんと伏字にするかしないか、プログラムに決めさせるんじゃなくて、ユーザーが設定できるようにすればいい
って話じゃないのか

505 :デフォルトの名無しさん:2008/11/06(木) 15:41:16
伏字が*とか●とかってもう飽きちゃったんだよね
△※◎☆▼!
みたいに出てきてくれると楽しそう


506 :デフォルトの名無しさん:2008/11/06(木) 15:50:31
> *とか●とか
ケツの穴とかウンコとか

507 :デフォルトの名無しさん:2008/11/06(木) 15:52:59
::SendMessageW(hwndEdit, EM_SETPASSWORDCHAR, L'☠', 0);

508 :デフォルトの名無しさん:2008/11/06(木) 16:07:26
SendMessageで別のウィンドウ(別プロセスの)に送り元プロセスの文字列のポインタを送って
送り先でその文字列を読むにはどうすればいいんですか?

509 :デフォルトの名無しさん:2008/11/06(木) 16:13:21
>>505
こんな感じで入力する度に伏字を変えてみればいいと思うよ

case WM_COMMAND:
  if(HIWORD(wParam) == EN_UPDATE){
    static const WCHAR w[] = {12942, 12963, 12944};
    static unsigned i;
    SendMessageW((HWND)lParam, EM_SETPASSWORDCHAR, w[i++ % 3], 0);
  }
  break;

510 :デフォルトの名無しさん:2008/11/06(木) 17:59:16
ちょっと馬鹿っぽい質問ですが・・・
dllでメッセージって受け取ることできますか?
できるならやり方を教えてください。

ちなみにやりたいことは・・・
ソフトA ⇔ DLL ⇔ ソフトB

ソフトAからDLLでWM_COPYDATAを送ってDLLがそれを受け取って
ソフトBにWM_COPYDATAを送るみたいな・・・

511 :デフォルトの名無しさん:2008/11/06(木) 18:02:25
ちょっと馬鹿っぽい回答ですが・・・
メッセージ用のダミーなウィンドウ作ればいいんじゃないですか?

512 :デフォルトの名無しさん:2008/11/06(木) 18:56:14
ポストしていいものならスレッド作ってPostThreadMessageという手もある。
WM_COPYDATAはSendじゃないとダメみたいだが。

513 :デフォルトの名無しさん:2008/11/06(木) 19:01:29
>>512
馬鹿っぽいというよりお前は馬鹿そのものだな

514 :デフォルトの名無しさん:2008/11/06(木) 19:14:53
Windows7でWin32て.NETに明け渡すの?
もしそうならもう精力的に学ぶ意味なくね?

515 :デフォルトの名無しさん:2008/11/06(木) 19:17:24
いや、今までのWin32はそのままだし、
XPS関連とかDirect2DとかネイティブAPIも増え続ける。

516 :デフォルトの名無しさん:2008/11/06(木) 19:18:15
じゃあ前途が怪しいのはMFCとかあの辺のラッパだけ?

517 :デフォルトの名無しさん:2008/11/06(木) 19:58:20
>>510
SetWindowLongでdllフックじゃダメなん?

518 :デフォルトの名無しさん:2008/11/06(木) 19:58:41
コントロールにフォーカスがある時のキー入力を取得したい時は
コントロールをサブクラス化するしかないのでしょうか?

519 :デフォルトの名無しさん:2008/11/06(木) 20:08:46
コントロールの親でトラップして何事もなかったかのようにデフォルトプロシージャに戻す

520 :デフォルトの名無しさん:2008/11/06(木) 20:09:45
スレッドにキーボードフックを掛ける手もありますん

521 :デフォルトの名無しさん:2008/11/06(木) 21:13:08
Direct2DとかDirectWriteってCOMベースなんだろ?
GDIと比較するとめんどいな。

522 :デフォルトの名無しさん:2008/11/06(木) 21:14:48
COMとかいい加減にしてくんねーかな

523 :デフォルトの名無しさん:2008/11/06(木) 22:03:10
COMで何か問題でも?

524 :518:2008/11/06(木) 23:09:01
>>519
ありがとうございます
「トラップ」で調べてみたのですが、
それらしきソースが落ちていませんでした
MFCなら PreTranslateMessage というものがあるようですが・・・

>>520
ありがとうございます
MDIのソフトを作成しているので、
スレッドでフックするのは無理そうです

525 :デフォルトの名無しさん:2008/11/06(木) 23:10:12
↑は毎度出てくる理解しようとしないバカ



526 :デフォルトの名無しさん:2008/11/07(金) 00:10:50
↑は毎度出てくるただのバカ

527 :518:2008/11/07(金) 00:43:42
>>525
私の理解力が足りないためにすみません
もしよろしければどの点が理解できていないのか
ご指摘をお願いしたいのですが・・・

528 :デフォルトの名無しさん:2008/11/07(金) 00:45:11
↑文脈で判断できないバカ

529 :518:2008/11/07(金) 00:48:44
>>528
私の理解不足は重々承知しております
ですから、どの点を理解できていないのか
ご指摘を頂きたいのです

530 :デフォルトの名無しさん:2008/11/07(金) 00:53:36
ほっとけよ意味なく書いてるだけだから

531 :518:2008/11/07(金) 01:00:04
結局、指摘できないということでよろしいでしょうか
バカという奴がバカとは言い得て妙ですね

532 :デフォルトの名無しさん:2008/11/07(金) 01:10:12
どうせニセモノだろ


533 :デフォルトの名無しさん:2008/11/07(金) 01:22:59
慣れれば楽だろCOMは・・既存のものを使うだけなら尚更

534 :デフォルトの名無しさん:2008/11/07(金) 01:59:59
AddRef/Releaseし忘れとかSTA/MTAとかかな
前者は_com_ptr_tやCComPtrを使えばいいけど

535 :518:2008/11/07(金) 02:05:48
>>531
私を語るにしてももう少し言葉を選んで頂ければうれしいです

536 :518:2008/11/07(金) 04:39:18
>>535
何を「語る」んだ?(笑)

537 :デフォルトの名無しさん:2008/11/07(金) 05:35:30
得意げに(笑)とか使っちゃってバーカみたい

538 :デフォルトの名無しさん:2008/11/07(金) 06:45:16
ん?悔しかったの?(笑)

539 :デフォルトの名無しさん:2008/11/07(金) 07:25:13
得意げに(笑)とか使っちゃってバーカみたい

540 :デフォルトの名無しさん:2008/11/07(金) 07:29:11
ん?悔しかったの?

541 :デフォルトの名無しさん:2008/11/07(金) 07:34:51
ん?悔しかったの?
得意げに(笑)とか使っちゃってバーカみたい

542 :デフォルトの名無しさん:2008/11/07(金) 07:36:20
ん?(笑)悔しかったの?(笑)
得意げに(笑)とか使っちゃって(笑)バーカみたい(笑)

543 :デフォルトの名無しさん:2008/11/07(金) 07:52:46
マルチスレッドのお作法みたいなのを学びたいんだけどいいサイトか何かない?
手探り状態でいろいろやっててかなりマズいことをしている気がする。
とりあえずウィンドウハンドルやファイルハンドルはオープンしたスレッド以外で操作やクローズするとバグるというのは経験した。
スレッド間通信はグローバル変数使って値が返るまでSleep(1)するという無茶苦茶なことをしているんで。

544 :デフォルトの名無しさん:2008/11/07(金) 07:52:53
てめー茶漬け返せw

545 :デフォルトの名無しさん:2008/11/07(金) 07:54:31
>>543
WaitForなんちゃらで待機用のオブジェクトがシグナルするまで待てば良いじゃない

546 :デフォルトの名無しさん:2008/11/07(金) 08:03:36
スレッド間通信ならWaitFor〜よりInterlocked〜を使った方がいい

547 :デフォルトの名無しさん:2008/11/07(金) 08:09:39
>>543
普通に本を一冊読んだ方がいいんじゃないか?
その僅か4行程度の書き込みで、あまりにも無知なことが伺えるし。

548 :デフォルトの名無しさん:2008/11/07(金) 09:29:34
バグる(笑)

バグると言っていい状態はファミコンのカセットずらしだけ

549 :デフォルトの名無しさん:2008/11/07(金) 09:36:18
得意げに(笑)とか使っちゃってバーカみたい

550 :デフォルトの名無しさん:2008/11/07(金) 10:56:34
知らないならレスしないで下さい。ウザイだけです。

551 :デフォルトの名無しさん:2008/11/07(金) 10:58:13
お前も知らないんだからレスしないでください。ウザイだけです。

552 :デフォルトの名無しさん:2008/11/07(金) 10:59:04
知ってますよ?

553 :デフォルトの名無しさん:2008/11/07(金) 11:00:05
すでにご存知なら、回答する必要はありませんね?

554 :デフォルトの名無しさん:2008/11/07(金) 11:15:05
いえ僕は知ってるって事を知ってるのです。

555 :デフォルトの名無しさん:2008/11/07(金) 14:23:34
アプリケーションインスタンスが破棄されるときに解放されると明示されているハンドル等は一切解放コードを書かないですか?


556 :デフォルトの名無しさん:2008/11/07(金) 14:26:52
たいてい書きます。俺は。

557 :デフォルトの名無しさん:2008/11/07(金) 14:40:42
たいてい書くね

558 :デフォルトの名無しさん:2008/11/07(金) 14:46:48
すんません。昨日のおばかですが教えてください。

DLLからアプリのハンドルを取得してそのアプリにSendMessageすると
ちゃんとアプリにメッセージ届きますか?
なんかアプリ側にメッセージきてないみたいなんですが・・・

559 :デフォルトの名無しさん:2008/11/07(金) 15:03:29
まじかるばなな。ばななといったら、に〜んじん。

560 :デフォルトの名無しさん:2008/11/07(金) 15:40:32
>>558
spy++で確認して下さい

561 :デフォルトの名無しさん:2008/11/07(金) 15:46:23
>>558
どうせSendMessageの前にハンドルが取れてないというオチだと思われます。

562 :デフォルトの名無しさん:2008/11/07(金) 15:48:18
知らないならレスしないで下さい。ウザイだけです。


563 :デフォルトの名無しさん:2008/11/07(金) 17:23:08
>アプリのハンドル
どのハンドルですか

564 :デフォルトの名無しさん:2008/11/07(金) 19:04:12
知らないならレスしないで下さい。ウザイだけです。


565 :デフォルトの名無しさん:2008/11/07(金) 19:05:52


566 :デフォルトの名無しさん:2008/11/07(金) 19:08:03

∩  /⌒ヽ,      うるせぇえええええ  ̄_ ̄)’,  ・ ∴.'  .. ∧_∧ ∴.'
| |  / ,ヘ  ヽ∧_∧      --_- ― = ̄  ̄`:, .∴)'     ((( >>1 )
| | .i l \ (  ´Д`)ヽ, _,-'' ̄  = __――=', ・,‘ r⌒>  _/ / ・,‘
| |ニヽ勿  ヽ,__    j  i~""  _-―  ̄=_  )":" .  ’ |y'⌒  ⌒i .'  ∴.'
∪       ヽ,, / / __,,, _―  ̄_=_  ` )),∴. ) |  /  ノ |∴.'∴.'
       ヽノ ノ,イ     ―= _ ) ̄=_)   _), ー'/´ヾ_ノ
       / /,.  ヽ,        _ _ )=  _) ,./ ,   ノ  ∴.'  ∴.'
      丿 ノ ヽ,__,ノ           = _)   /  / /∴.' ∴.'
      j  i                      / / ,'
     巛i~                      /  /|  |
                            !、_/ /   )
                                |_/

567 :デフォルトの名無しさん:2008/11/07(金) 19:32:56
なぜ>>1

568 :デフォルトの名無しさん:2008/11/07(金) 19:41:02
ちゃんとアプリにメッセージ届きます

569 :デフォルトの名無しさん:2008/11/07(金) 19:46:35
>>567
ミスりました

570 :デフォルトの名無しさん:2008/11/07(金) 20:58:00
>>1に謝ってください

571 :デフォルトの名無しさん:2008/11/07(金) 20:59:41
こめんぷー^p^

572 :デフォルトの名無しさん:2008/11/07(金) 20:59:43
すみません…

573 :デフォルトの名無しさん:2008/11/07(金) 21:14:07
なんか、C#スレといいキモイのが湧いてるな。

質問者はともかく、荒らしはスルーしろよ。スレが荒れるだろ。

574 :デフォルトの名無しさん:2008/11/07(金) 23:24:57
↑スルーできないバカ登場

575 :デフォルトの名無しさん:2008/11/08(土) 00:39:43
APIのことをアピって言ったら笑われたんだけど、普通アピって言いますよね

576 :デフォルトの名無しさん:2008/11/08(土) 00:45:27
俺はエーピーアイって言っている。

577 :デフォルトの名無しさん:2008/11/08(土) 00:46:39
おれはエイプアイって言ってる

578 :デフォルトの名無しさん:2008/11/08(土) 00:55:13
MAPI は まぴ

579 :デフォルトの名無しさん:2008/11/08(土) 04:03:42
Get/WritePrivateProfileを今更使うのってどうよ
推奨されてないようだけどレジストリも汚したくないし自前で関数準備するのもマンドクセ('A`)

580 :デフォルトの名無しさん:2008/11/08(土) 04:09:19
また水掛け論の悪寒

581 :デフォルトの名無しさん:2008/11/08(土) 04:26:32
Get/WritePrivateProfileを今更使う奴は馬鹿
階層化できないしデータ型もセキュリティもロクに無いし、
そもそもWin16時代の後方互換で残ってるだけだからAPI仕様が腐ってる

てかWin95発売から10年以上になるのに未だ大多数の国産フリーソフトでINI使ってるのが正直信じられない
どんだけ時代遅れのオッサンプログラマが多いんだよ・・・

582 :デフォルトの名無しさん:2008/11/08(土) 04:27:48
俺はC#使う時でもINI書いてるけどな
XmlSerializerのバグがウザ過ぎる

7でも無くならないんだろ?どうせ…

583 :デフォルトの名無しさん:2008/11/08(土) 04:34:12
レジストリに触るとキレる人も多いからねぇ。

584 :デフォルトの名無しさん:2008/11/08(土) 04:51:57
なんでレジストリを毛嫌いする人がいるんだろう
勝手に関連付け変更されるとさすがに嫌だけど、HKCU\Software以下に設定を保存するくらいなら何も無いのに
まあ正直そんな連中は無視でいいと思うよ
レジストリが嫌なら一生Windows3.1でも使ってればいいのにね

585 :デフォルトの名無しさん:2008/11/08(土) 04:59:22
サンクスコ
致命的な問題も無さそうですし小さいアプリなんでiniファイル使う事にします
セキュリティも気になってはいましたけど、そもそもそこまで使われるとも思えないソフトなので('A`)

586 :デフォルトの名無しさん:2008/11/08(土) 05:09:30
iniの最大の問題点は「どこにファイルを配置するか」だな
問答無用でexeのフォルダやWindowsフォルダに置くソフトは論外だが、
Application Data以下に置くぐらいなら結局レジストリ使うのと大差無いからなあ

587 :デフォルトの名無しさん:2008/11/08(土) 06:40:56
>>586
レジストリが肥大化するとOSの起動が遅くなるって嫌がる人がいるから
俺はなるべくAppDataに放り込むようにしてるよ。

588 :デフォルトの名無しさん:2008/11/08(土) 07:34:32
レジストリの肥大化でOSの起動が遅くなるっていつの時代の話だよw
そりゃ何十MBもレジストリに書きこめば遅くなるかもしれんが貧乏性すぎだろ

589 :デフォルトの名無しさん:2008/11/08(土) 07:42:24
そういって開発性優先した挙句、重くなったのが窓やflashやjavaアプリ

590 :デフォルトの名無しさん:2008/11/08(土) 07:46:59
↑レジストリの肥大化とソフトの肥大化を同列に語る馬鹿

591 :デフォルトの名無しさん:2008/11/08(土) 07:52:24
「レジストリを嫌がる人がいる」とか言ってる本人がレジストリ否定論者そのものなんだろうねぇ

592 :デフォルトの名無しさん:2008/11/08(土) 07:55:34
XXXであるという人もいる
XXXであるといっていた友人がいる
XXXであるという世間の声もあるようだ




593 :デフォルトの名無しさん:2008/11/08(土) 07:57:02
設定のバックアップが容易かどうかが重要で、レジストリを使う場合はそれを考慮しないと嫌がられる

594 :デフォルトの名無しさん:2008/11/08(土) 07:59:27
XXXであるというのが多数派だ
XXXであるという見解が常識だ


595 :デフォルトの名無しさん:2008/11/08(土) 08:08:36
>>583
レジストリに触られるとキレるんですね

>>587
レジストリが肥大化するとOSの起動が遅くなって嫌がるんですね

>>588
時代を先行く人なんですね

>>591
あなたも実はレジストリ否定論者ですね

>>593
設定のバックアップを考慮しないと嫌がるんですね

こうですか><

596 :デフォルトの名無しさん:2008/11/08(土) 10:07:35
INIの利点はUSBメモリに入れて同じ環境設定を
共有できる。素晴らしい事じゃないか。

597 :デフォルトの名無しさん:2008/11/08(土) 10:42:18
どうせそのうちWindowsごと再インストールするんだから、
レジストリを汚していくソフトも気にならなくなった。

598 :デフォルトの名無しさん:2008/11/08(土) 10:42:22
INIじゃなくてもいいだろ。

599 :デフォルトの名無しさん:2008/11/08(土) 11:13:01
XMLだと、タグの対応とかめんどいし、文字によってはエスケープしないとダメだったり。
その点、INIファイルはお手軽でいいんだよな。

600 :デフォルトの名無しさん:2008/11/08(土) 11:28:27
ちょっとした設定ならiniで悪いってこともないと思う
どうしても階層が深くなってしまうようなのがある時にはxml使ったりもするけど
でも最近は例外処理が楽なんでSQLiteにしてる

601 :デフォルトの名無しさん:2008/11/08(土) 11:35:44
>>599
XMLのそこらへんのめんどい所って全部ライブラリに任せるとこだろ。
でも、そういうライブラリがなくても何とかなるという意味でINIが手軽というのはその通りだと思う。

602 :デフォルトの名無しさん:2008/11/08(土) 11:40:24
メモ帳で簡単に編集出来るからね。

603 :デフォルトの名無しさん:2008/11/08(土) 12:31:57
すかすXMLパーサってどれも重い

604 :デフォルトの名無しさん:2008/11/08(土) 12:59:30
>>575
アピwwwwwwwwwwww
いわねーよwwwwwww

エーピーアイだろ

605 :デフォルトの名無しさん:2008/11/08(土) 13:08:34
知り合いの米国人はエピとかアピとかって発音するな。
あいつらは好き勝手に発音する。正しい読み方なんて全然気にしない。

606 :デフォルトの名無しさん:2008/11/08(土) 15:34:53
文字描画に関する質問です。

現在、SetBkModeがTRANSPARENTの状態で、DrawTextで文字を描画しているのですが、
文字と背景の背景色が近い場合、文字が読みづらくなってしまっています。

ですので、文字の周りだけを白くして見やすくしたいと思っています。
方法が分かる方教えてもらえないでしょうか?

SetTextColorだと全体的に白くなってしまうので。

607 :デフォルトの名無しさん:2008/11/08(土) 15:37:43
大きさと色を変えるとかちょっとずらして二回かく

608 :デフォルトの名無しさん:2008/11/08(土) 16:22:25
二回でもいいけど
上下左右にずらして白く書いて
とどめに真ん中に黒く書くとそれらしくなるよ

DrawThemeTextEx使うと一発だけど

609 :606:2008/11/08(土) 16:51:03
>>607-608
DrawThemeTextExってのがあるのですか。
まだよくわからないのですが調べてきます。
ありがとうございます。

610 :デフォルトの名無しさん:2008/11/08(土) 17:07:24
そしてXP以上かつテーマ有効でないと使えないということにorzするのだよ。

611 :デフォルトの名無しさん:2008/11/08(土) 17:17:45
Minimum operating systems Windows Vista

ってmsdnに書いてあるけど?

612 :デフォルトの名無しさん:2008/11/08(土) 17:41:03
問題無い。これからはVistaの時代だ。

613 :デフォルトの名無しさん:2008/11/08(土) 17:50:15
>>608
五回でもいいけど
八方向にずらして白く書いて
とどめに真ん中に黒く書くともっとそれらしくなるよ

614 :610:2008/11/08(土) 18:38:07
>>611
ちょww、俺がorzじゃないか

615 :デフォルトの名無しさん:2008/11/08(土) 19:37:50
>>613
いちいち九回も書いていたら相当重くなりそうだが

616 :デフォルトの名無しさん:2008/11/08(土) 21:05:02
「スレッド」や「スレッドの中のイベント」をCloseHandleする場合はどこでやればいいんでしょうか?
CreateThreadと_beginthreadexのどちらを使うかでハンドルを閉じるべき場所が変わったりするんでしょうか?

617 :606:2008/11/08(土) 21:28:55
>>610-614
わぉ・・・、後で調べようと思ってたらwwww
Vistaからなのかぁ・・・。

618 :デフォルトの名無しさん:2008/11/08(土) 21:33:14
おろ
てっきり「自分のもvistaなので全然大丈夫です」とかいう
旧機種を使い続ける者にとっては少々ムカつく答えがかえってくると思ったのに

619 :デフォルトの名無しさん:2008/11/08(土) 21:45:23
>>616
ケースバイケース

620 :デフォルトの名無しさん:2008/11/08(土) 21:51:44
CloseHandle(CreateThread(...));
だろjk

621 :デフォルトの名無しさん:2008/11/08(土) 21:57:28
行儀がよくないw

622 :デフォルトの名無しさん:2008/11/08(土) 21:59:39
>>620

それだとスレッド作ったらすぐ終わるのでは?
スレッドが動いてるときにclosehandleしても大丈夫なんでしょうか?

623 :デフォルトの名無しさん:2008/11/08(土) 22:01:18
終わらないよ
MSDNのCreateThreadの項目よく見て来い

624 :デフォルトの名無しさん:2008/11/08(土) 22:08:22
知らぬならレスしないで下さい

625 :デフォルトの名無しさん:2008/11/08(土) 22:17:45
コントロールパネルを作りたいのですが、

方法を教えてください。

参考URL,参考書籍だけでもよいのでよろしくお願いします。



626 :デフォルトの名無しさん:2008/11/08(土) 22:26:55
>>625
コントロールパネルに表示される項目を作りたいというならこれ。
http://msdn.microsoft.com/en-us/library/cc144185.aspx
コントロールパネルを表示させたいというだけなら、ただのシェルフォルダとして扱えばいい。

627 :デフォルトの名無しさん:2008/11/08(土) 22:39:22
>>626
コントロールパネルのようなアプリを作りたいのでは?
*.cplを列挙してアイコンと説明を表示して・・・、みたいな

628 :デフォルトの名無しさん:2008/11/08(土) 22:52:50
>>623

CreateThreadでも_beginthreadexでもハンドルを使わないなら作った直後にclosehandleがよいということ?
スレッドのハンドルを閉じてもスレッド間で共有してるグローバル変数は使用可能なんでしょうか?

629 :デフォルトの名無しさん:2008/11/08(土) 22:59:33
少しは自分で試せハゲ

630 :デフォルトの名無しさん:2008/11/08(土) 22:59:48
MSDNを読む気が全く無いと見た

631 :628:2008/11/08(土) 23:01:24
>>629-630

あなた達のような人に偉そうに言われる筋合いはありません

632 :デフォルトの名無しさん:2008/11/08(土) 23:01:52
OH!

633 :デフォルトの名無しさん:2008/11/08(土) 23:02:50
スルーしとけ
また何かある度に聞きに来るようになるぞ

634 :デフォルトの名無しさん:2008/11/08(土) 23:11:47
いや、別に聞きに来るのは構わないだろ。誰だろうと質問なら答える。

ただ、そのうちここで聞くより一次的な情報源を自分で漁ったほうが
早く答えを見つけられるようになるだろうに、それを捨てるのは
あなた(>>628)にとって惜しいことではないだろうかというだけのこと。

635 :デフォルトの名無しさん:2008/11/08(土) 23:17:21
>>622
Advanced Windowsに書いてあるところの、
CloseHandleをスレッドハンドルに対して使用すると、スレッドを終了させるという、
不思議な思い込みをしている奴って本当にいるんだな。

やっぱりCloseって名前がいけないのかな。

636 :デフォルトの名無しさん:2008/11/08(土) 23:32:44
他のハンドルはClose=破棄が多いから
まあ分からんでもない

637 :デフォルトの名無しさん:2008/11/08(土) 23:40:55
いや、他のハンドルだって、参照カウンタを減らすだけじゃん。
結果として大抵の場合は(名前つきとかduplicateとかはまず使わんし)破棄になるけれど。

638 :デフォルトの名無しさん:2008/11/08(土) 23:42:35
628ですが、631は別人。

>>630

MSDNみてもいつclosehandleすれば良いかは書いてなさそうなんですが。

639 :デフォルトの名無しさん:2008/11/08(土) 23:44:38
お前の目はフシアナか?
ttp://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx

>The thread object remains in the system until the thread has terminated
>and all handles to it have been closed through a call to CloseHandle.

640 :デフォルトの名無しさん:2008/11/08(土) 23:47:23
スレッド終了待ちにhandleは使うから結局閉じるのは終了後になると思うけど


641 :デフォルトの名無しさん:2008/11/08(土) 23:47:24
>>638
この辺から読み取れよ

>The thread object remains in the system until the thread has terminated and all handles to it have been closed through a call to CloseHandle.

642 :デフォルトの名無しさん:2008/11/08(土) 23:47:47
CloseHandleのところにも、スレッドハンドルを閉じてもスレッドは終了しないと書いてある。
http://msdn.microsoft.com/en-us/library/ms724211.aspx
> Closing a thread handle does not terminate the associated thread or remove the thread object. ……
> To remove a thread object, you must terminate the thread, then close all handles to the thread. ……

643 :デフォルトの名無しさん:2008/11/08(土) 23:49:23
>>640
まあそうなんだけどね。

644 :デフォルトの名無しさん:2008/11/08(土) 23:50:25
だから行儀がよくないって言ったのに

645 :デフォルトの名無しさん:2008/11/09(日) 00:58:23
ポップアップメニューについて質問させてください。
普通にTrackPopupMenu()を使うと
下みたいな左に縦線付きのメニューがでるのですが、

. | 切り取り (T)
. | コピー (P)

これを縦線なしのポップアップメニュー
(コマンドプロンプトのポップアップメニューみたいな)
を出すにはどうしたら良いでしょうか?

こんな感じの↓
. 切り取り (T)
. コピー (P)


646 :デフォルトの名無しさん:2008/11/09(日) 05:41:00
はぁ?

647 :デフォルトの名無しさん:2008/11/09(日) 06:24:11
はぁ!

648 :デフォルトの名無しさん:2008/11/09(日) 06:26:28
ポップアップメニューの背景を消したいって意味か?
どうせならjpgで

649 :デフォルトの名無しさん:2008/11/09(日) 06:54:03
. 切り取り (T)
. コピー (P)

こんなメニューの出るソフトは嫌だな
貼り付け(P) とニーモニック衝突してるじゃん

650 :デフォルトの名無しさん:2008/11/09(日) 07:57:22
moto ni Modosu (M)
-----------
kiriTori (T)
koPii (P)
haRitsuke (R)
sakuJo (J)
-----------
suBete sentaku (B)

651 :デフォルトの名無しさん:2008/11/09(日) 08:09:19
単なる例だろよw
突っかかるなよw

652 :デフォルトの名無しさん:2008/11/09(日) 08:12:57
>>646-651
知らないならレスしないでください

653 :デフォルトの名無しさん:2008/11/09(日) 08:21:25
ここまでテンプレ

654 :デフォルトの名無しさん:2008/11/09(日) 08:26:28
>>645
もしかしてVistaのメニュー?
あれが普通のシステムが生成してるメニューで
CMDにでるメニューは独自実装のメニューもどきじゃねーの?

655 :デフォルトの名無しさん:2008/11/09(日) 08:50:59
Vistaしか使ったことない奴がプログラマになる時代なのか・・・

656 :デフォルトの名無しさん:2008/11/09(日) 09:12:21
結構見慣れてくると分からんよ。

654が指摘するまでVistaのメニューの事だと気づかんかった。

657 :デフォルトの名無しさん:2008/11/09(日) 10:52:47
vistaマシンなんていまだに店頭でしか触った事ないぜ

658 :デフォルトの名無しさん:2008/11/09(日) 11:11:35
その空間はチェックマージン、アイコンイメージマージンと言ってだな

659 :デフォルトの名無しさん:2008/11/09(日) 11:27:26
VistaだとメニューにSetMenuItemBitmapsで32bitでアイコン描けるんだぜ

660 :デフォルトの名無しさん:2008/11/09(日) 12:11:32
>>659
MENUITEMINFO::hbmpItemのことか?
アイコンじゃなくてビットマップだろ

HIMAGELISTが渡せるわけでもないのでわざわざHBITMAPを作らないといけないし
メニューを破棄するときに手動でDeleteObjectしないとだし

ぶっちゃけオーナードローだけで済んだXPまでの方が楽つーかこれ考えた奴馬鹿だろ

661 :デフォルトの名無しさん:2008/11/09(日) 12:53:28
ttp://msdn.microsoft.com/en-us/library/bb757020.aspx
ttp://msdn.microsoft.com/en-us/library/bb756947.aspx

メニューをカスタマイズしたいなら.NETで開発しろと言わんばかりのソースだな・・・

662 :デフォルトの名無しさん:2008/11/09(日) 13:20:22
言わんばかりじゃなくてそう言ってんだと思うぜw

663 :デフォルトの名無しさん:2008/11/09(日) 13:39:01
.NETのメニューはかなり自由度が高いからな

・デフォでOffice風
・ComboBoxやTextBoxを乗せることができる
・クリックしても閉じないようにできる
・ToolStripMenuItemやToolStripRendererを継承すれば弄り放題

同じ事をWin32だけで行うとなるとメニューのウィンドウを自作する所から必要だな

664 :デフォルトの名無しさん:2008/11/09(日) 14:09:31
>>648
jpg上げました。
ttp://upload.fam.cx/cgi-bin/img-box/y6z81109135952.jpg

ちなみに、コマンドプロンプトというのは、cmd.exeの事です。
cmd.exeに限らず、Vistaで動かしても縦線のないポップアップメニューをだす
ソフトをたまに見かけるので、聞いてみました。


665 :デフォルトの名無しさん:2008/11/09(日) 14:13:38
メニューのプロパティで何か指定できんのかな?
ちょっと見てみっか

666 :デフォルトの名無しさん:2008/11/09(日) 14:17:10
ヒント: Theme

667 :デフォルトの名無しさん:2008/11/09(日) 14:40:52
ある1つのボタンの背景色のみを変えたいのですが、
オーナー描画ボタン(BS_OWNERDRAW)しか手段はないのでしょうか?
システムカラーは全ての色が変わってしまうみたいですし。

少し調べてみた限りわからなかったため質問させていただきました。
環境:XP、Visual C++

668 :デフォルトの名無しさん:2008/11/09(日) 14:53:04
クラシックなら変わるよ

669 :デフォルトの名無しさん:2008/11/09(日) 15:21:21
>>664
マジでVistaしか使ったこと無いみたいだな
もしかして小学生?

670 :デフォルトの名無しさん:2008/11/09(日) 15:23:14
InternetSetOptionで登録したユーザ名やパスワードって変更できないの?
無効のID/PASSから有効なID/PASSに変更ならできるけど、有効なID/PASSから無効なID/PASSに
変更しても有効な時のID/PASSが使われるんだけど、どうしたら再度無効な状態に戻せるの?

671 :デフォルトの名無しさん:2008/11/09(日) 17:35:28
>>669
ねんちょうだよ

672 :デフォルトの名無しさん:2008/11/09(日) 18:31:55
おれはねんちゅうだよ
りゅうねんして30ねんめだけど

673 :デフォルトの名無しさん:2008/11/09(日) 20:10:11
ちゅう…ねん…?

674 :デフォルトの名無しさん:2008/11/09(日) 20:43:22
>>664
>>661見ろよ。画像が載っているじゃないか。
オーナードローを指定しておけば、クラシックモードで描画するとも書いてある。

Classic Windows Context Menu
http://i.msdn.microsoft.com/Bb757020.Top10_F01_VisualStyle2_ClassicMenu(en-us,MSDN.10).gif

Windows Vista Theme Context Menu
http://i.msdn.microsoft.com/Bb757020.Top10_F01_VisualStyle2_VistaMenu(en-us,MSDN.10).gif

675 :デフォルトの名無しさん:2008/11/09(日) 22:36:55
まぁ逆に言えばオーナードローしてるとVistaでメニューだけクラシックになって違和感あるけどな

676 :デフォルトの名無しさん:2008/11/09(日) 22:44:46
>>674
見てますよ〜
英語が読めないのと.NETって書いてあったので
ちら見しかしてなかったんですが、
書き込みした後、じっくり読むうちにかなり重要な情報と気づきましたw
MF_OWNERDRAW?というのを使うと、なんとかできそうな目処も立ちました。
ちなみに、小学生じゃないです。
ニートです。
ありがとでした。 >>661

677 :デフォルトの名無しさん:2008/11/09(日) 22:47:55
>>675
その違和感あるクラシックにしたいというのが>>676の望みだそうだ。

678 :デフォルトの名無しさん:2008/11/10(月) 00:15:40
ヒント無視かよ!

679 :デフォルトの名無しさん:2008/11/10(月) 00:29:42
なんでわざわざクラシックにしたいのかねぇ
cmd.exeのメニューがクラシックなのはこいつのプロセスにVisualStyleが適用できないからだし、
オーナードローでクラシックなのは単にそのアプリがVistaを考慮してないだけじゃないか

そんなにクラシックがいいならAeroやThemeを切れば済むだろうに

680 :デフォルトの名無しさん:2008/11/10(月) 00:45:05
Vista以外で面倒なことになるから、標準の物は気にせず使うのが一番いい。
くだらない事に時間をかけるのは、

681 :667:2008/11/10(月) 00:45:42
あれ?これは簡単すぎる事だから、
自分でもっと調べろって事で放置されてるのですかい?

682 :デフォルトの名無しさん:2008/11/10(月) 00:50:27
>>681
.NETでも使っておけw

683 :デフォルトの名無しさん:2008/11/10(月) 01:11:04
>>681
オーナードローでいいんじゃない。
放置されてんのはおっきな釣針がぶら下がっていただけ。
気を悪くしたのなら済まない。

684 :デフォルトの名無しさん:2008/11/10(月) 01:12:39
ボタンのカスタムドロー(≠オーナードロー)ってできなかったっけ?

685 :デフォルトの名無しさん:2008/11/10(月) 01:16:46
bitmapでも貼れば?

だがエッジの色はそのまんまで文字も埋もれた('A`)
ttp://www2.vipper.org/vip984732.png.html
w2k, mingw

686 :デフォルトの名無しさん:2008/11/10(月) 01:22:17
XPのボタンだと描画するタイミングでNM_CUSTOMDRAWが来るみたい
てことはNMCUSTOMDRAW::hdcにゴニョゴニョしたらできると思われ

687 :デフォルトの名無しさん:2008/11/10(月) 01:22:29
質問よろしくお願いします。
SetFileAttributesやCFile::SetStatusで
フォルダの更新日時を変更使用と思ったのですが、
「アクセスが拒否されました」となります。

フォルダの属性の変更をどうやって達成できますか?

環境はXP、VC++です。


688 :デフォルトの名無しさん:2008/11/10(月) 01:24:10
アクセス許可を与えればいいじゃないですか
エラーの指示に従ってください

689 :デフォルトの名無しさん:2008/11/10(月) 01:25:54
>>667
>環境:XP、Visual C++

>>687
>環境はXP、VC++です。


同一人物?

690 :デフォルトの名無しさん:2008/11/10(月) 01:28:20
>>689
XPかつVC++ってそんなに珍しいのか?

691 :デフォルトの名無しさん:2008/11/10(月) 01:35:14
1. 書き方が同じ

XPPro sp3+VC2005Proです
開発環境はWindows XP Home Edition、Visual C++ 2005 Express Editionです

とか、他にも書き方はある

2. >>687=>>681(=>>667)ならば時間的に合致する

692 :デフォルトの名無しさん:2008/11/10(月) 01:40:03
>>689>>691
残念でした。不正解で〜す。

693 :デフォルトの名無しさん:2008/11/10(月) 01:40:47
で、同一人物だったら何なの?

694 :デフォルトの名無しさん:2008/11/10(月) 01:46:41
同一人物ならば二度と来ないでいただきたい。
同一人物でないならば言うことは何も無い。

695 :デフォルトの名無しさん:2008/11/10(月) 01:48:41
>>694
お前にそんなこと言う資格はない
お前が来ないでください

696 :デフォルトの名無しさん:2008/11/10(月) 01:50:56
同一人物というのは図星のようだな

697 :デフォルトの名無しさん:2008/11/10(月) 01:54:06
なんかアブナイ人だなあ

698 :デフォルトの名無しさん:2008/11/10(月) 02:03:26
PCヲタク
プログラマー
2ちゃんねらー

世間的には充分「アブナイ人」だろw

699 :デフォルトの名無しさん:2008/11/10(月) 03:57:58
PGは変な人多いけど危険ではないよ

700 :デフォルトの名無しさん:2008/11/10(月) 07:14:39
複数ペインがあるアプリケーションを作りたいのですが、
子ウインドウを2つ作ってウインドウの間をドラッグしたら
ウインドウのサイズを変更する関数を実行するくらいしか思いつきません。
何か良い手はないでしょうか。よろしくお願いします。

701 :687:2008/11/10(月) 07:31:41
667の方とは別の人物です。

書き方が紛らわしくてスイマセン。
上の人の質問を見て、書かないといけないのかなと思ったので…。

>>688さん
ありがとうございます。アクセス許可ですか。
ファイル自体は上記の手法でも変更できてるんですけどね。
フルコントロールにしてないとフォルダは変更できないのですかね。

ちょっとやってみます。


702 :デフォルトの名無しさん:2008/11/10(月) 08:26:04
VBでやれ時間の無駄だ
生産性が落ちる
でなければ帰れ

703 :デフォルトの名無しさん:2008/11/10(月) 08:44:58
こりゃまたデカい釣り針ですね

704 :デフォルトの名無しさん:2008/11/10(月) 08:54:28
>>701
エクスプローラとかでそのフォルダ開いてない?

705 :デフォルトの名無しさん:2008/11/10(月) 10:48:52
XPのエクスプローラってハンドルリークしてるのかよくフォルダが削除できなくなったりするからなぁ

706 :デフォルトの名無しさん:2008/11/10(月) 19:53:27
どなたか700をよろしくお願いします。

707 :デフォルトの名無しさん:2008/11/10(月) 20:08:47
嫌です。帰ってください。

708 :デフォルトの名無しさん:2008/11/10(月) 20:18:01
>>706
スプリッタウィンドウで検索

709 :667:2008/11/10(月) 20:57:03
>>682-686
ふむふむ、ありがと。
ちょっちカスタムドローっての見てくるわさ。

>>683
色変えるだけでオーナードローってめんどくさそうな感じがしたので。

710 :デフォルトの名無しさん:2008/11/10(月) 21:03:15
おれ頭悪くて>>700のようなものを自作したら変な挙動のしかできなかった
親窓が固定サイズならいいけど
をリサイズした時どうすべきか

______
| | |というウィンドウを
~~~~~
______________
| |     |広げて
~~~~~~~~~~~
______________
|     | |ペインを移動て
~~~~~~~~~~~

______________
|     | |サイズを元に戻す時どうすべきか
~~~~~~~~~~~
     ←?



711 :デフォルトの名無しさん:2008/11/10(月) 21:08:38
>>710の続き

あと、元に戻せたとして、
______
| | | これをもういっかい広げたら
~~~~~
______________
| |     | こうなるのか
~~~~~~~~~~~
______________
|     | | こうなるべきか
~~~~~~~~~~~
Outlookでは後者なんだな
どうなっとんじゃ

それと、
_________
| | | | ペインが複数あったらどうすんの
~~~~~~~

まあでも、これ書いてたらなんかひらめきそうになったからいいや


712 :デフォルトの名無しさん:2008/11/10(月) 21:12:10
どうするも何もお前さんの実装しだいだろとしか言いようが…

713 :デフォルトの名無しさん:2008/11/10(月) 21:12:46

  ______________
  | | ・ω・ |
  ~~~~~~~~~~~




714 :デフォルトの名無しさん:2008/11/10(月) 21:14:39
比率を維持するのとか
いろいろありますな

715 :デフォルトの名無しさん:2008/11/10(月) 21:14:52
WTL使え

716 :デフォルトの名無しさん:2008/11/10(月) 21:24:04
日記書いてる馬鹿とそれに釣られる馬鹿

717 :デフォルトの名無しさん:2008/11/10(月) 21:32:57
一瞬、テトリスの作り方教えてください
かと思った

718 :701:2008/11/10(月) 21:39:47
>>704さん
一応現在の作業プロジェクト以外対応してないんです。

どうやらフルコントロールも上手く行かないようなので、
どうしたものでしょうか…。

フォルダのハンドルをどうにかして取得して、
そのハンドルをつかって無理やり変更…とかできるのかなぁ。

719 :デフォルトの名無しさん:2008/11/10(月) 21:49:21
誰かがそのファイルが開いているせいじゃないの?

720 :デフォルトの名無しさん:2008/11/10(月) 21:51:06
なんだかわからんプロセスがファイル握ってて、
今起動しているアプリ全部閉じたり再起動すると直ってる
という現象がたまにあるな

721 :デフォルトの名無しさん:2008/11/10(月) 23:37:45
タスクトレイの自分のアイコン上にマウスカーソルがきたら
自動でメニューを開きたいのですが、
タスクトレイの自分のアイコンの位置って、どうやって得るのでしょうか?

722 :デフォルトの名無しさん:2008/11/10(月) 23:44:33
>マウスカーソルがきたら

じゃあカーソルの位置でよくね?

723 :デフォルトの名無しさん:2008/11/10(月) 23:58:14
NotifyIcom_MouseMoveでContextmenu.Showといきたかったが
色々あって結局TrackPopupMenu

724 :デフォルトの名無しさん:2008/11/10(月) 23:58:56
Icomって何だよ…orz

725 :デフォルトの名無しさん:2008/11/10(月) 23:59:58
いやだからGetCursorPosで駄目な理由って何?

726 :デフォルトの名無しさん:2008/11/11(火) 00:02:40
>>722 >>725

それで、カーソルがタスクトレイの自分のアイコンの上にあるかどうかは
どうやって判定するんでしょう?


>>721を別の言い方に直すと、
タスクトレイの自分のアイコンの上にマウスカーソルが
きたことを知る方法は?という事です。

727 :デフォルトの名無しさん:2008/11/11(火) 00:03:21
WM_MOUSEMOVEじゃね?


728 :デフォルトの名無しさん:2008/11/11(火) 00:04:28
>>726
マウスフックすりゃいいんじゃね?

729 :デフォルトの名無しさん:2008/11/11(火) 00:05:30
カーソルがきた時の通知イベントあるよ
Shell_NotifyIcon見直せ

730 :デフォルトの名無しさん:2008/11/11(火) 00:12:12
できました!
なぜかWM_MOUSEMOVEがこないと思い込んでました。
ありがとうございました。

731 :デフォルトの名無しさん:2008/11/11(火) 05:45:38
>>726
間違っています。
以上。
↓次どうぞ

732 :デフォルトの名無しさん:2008/11/11(火) 06:21:01
> タスクトレイの自分のアイコン上にマウスカーソルがきたら
> 自動でメニューを開きたいのですが、

そもそもこんなUIが設計として間違ってる

733 :デフォルトの名無しさん:2008/11/11(火) 07:18:46
>>718
Unlockerでファイルハンドルを握っているプロセスを確認できる
エクスプローラの変なアドオンが握っている気もするがな

734 :デフォルトの名無しさん:2008/11/11(火) 07:32:05
つか、ディレクトリのハンドルはどうやって取得してんの?

735 :デフォルトの名無しさん:2008/11/11(火) 07:52:49
APIで取得しています

736 :デフォルトの名無しさん:2008/11/11(火) 10:46:47
自分でつかんでるからできないのでは

737 :デフォルトの名無しさん:2008/11/11(火) 11:13:26
知らないならレスしないで下さい。ウザイだけです。

738 :デフォルトの名無しさん:2008/11/11(火) 11:24:05
ってリネームじゃなくて更新日時か。更新日時は通常0にしないと操作できんべ。

739 :デフォルトの名無しさん:2008/11/11(火) 11:26:57
って代用だけど解決策あったけど>>737がうざいから書くのやめた

740 :デフォルトの名無しさん:2008/11/11(火) 11:54:15
知らないなら言い訳しないで下さい。ウザイだけです。

741 :デフォルトの名無しさん:2008/11/11(火) 13:52:27
知らない奴に限って>>739みたいな事を言うよね。このクズは絶対にわかってないとおもうw

742 :デフォルトの名無しさん:2008/11/11(火) 13:58:57
そうやって答えを引き出そうとしても無駄だよ。

743 :デフォルトの名無しさん:2008/11/11(火) 14:08:08
無駄なことが好きらしいから、そっとしておいてやれ。

744 :デフォルトの名無しさん:2008/11/11(火) 14:21:18
>>740-741
おまえらもいい加減うぜぇ。

745 :デフォルトの名無しさん:2008/11/11(火) 15:17:04
>>687とウザイ言ってるのは別の人か。
ヒントやるよ、MFCのCFile::SetStatus()じゃ無理。

746 :デフォルトの名無しさん:2008/11/11(火) 15:19:00
static関数の方ね

747 :デフォルトの名無しさん:2008/11/11(火) 15:32:41
これから変えようとしているディレクトリを
そのアプリケーションがカレントに設定してるんじゃまいか?
なんかのプロセスがカレントにしてると作成/更新日時を変更できないのは確認した

748 :デフォルトの名無しさん:2008/11/11(火) 15:54:52
知らないなら言い訳しないで下さい。ウザイだけです。

749 :デフォルトの名無しさん:2008/11/11(火) 16:14:50
まだいるのかよ、お前はこのスレからも世の中からも必要とされてないんだよ。

750 :デフォルトの名無しさん:2008/11/11(火) 17:07:26
>>745
> FILE_FLAG_BACKUP_SEMANTICS
何が偉そうに「ヒントやるよ」だよw
そんなのググってすぐに見つかるしMSDNのCreateFile見れば書いてある事じゃん

知らないのに無理しなくていいよ。必死すぎて痛々しい。

751 :デフォルトの名無しさん:2008/11/11(火) 17:08:52
知らないならレスしないで下さい。ウザイだけです。

752 :デフォルトの名無しさん:2008/11/11(火) 17:11:39
知らない奴に限って>>750みたいな事を言うよね。このクズは絶対にわかってなかったとおもうw

753 :デフォルトの名無しさん:2008/11/11(火) 17:13:00
知らないなら言い訳しないで下さい。ウザイだけです。

754 :デフォルトの名無しさん:2008/11/11(火) 17:15:23
>>732
いや、クリック減るし、これは流行ると思う。
クイック起動並の快適さ。

755 :デフォルトの名無しさん:2008/11/11(火) 17:21:04
>>754
マウス操作しか考慮していないアプリはゴミ

756 :デフォルトの名無しさん:2008/11/11(火) 17:23:46
>>687はFILE_FLAG_BACKUP_SEMANTICSは知ってるんじゃね?
ディレクトリのハンドルは取得できてるみたいだし

757 :デフォルトの名無しさん:2008/11/11(火) 17:23:51
なんで考慮してないってことになるんだろう・・・

758 :デフォルトの名無しさん:2008/11/11(火) 17:25:36
マウスホバーでメニューはいいが、
MOUSEMOVEでピョコピョコ出てくるのはウザいな。速攻設定Off

759 :デフォルトの名無しさん:2008/11/11(火) 17:28:13
>>758
別にピョコピョコ出るわけじゃないけど。
きちんとポップアップする領域を設定してあげれば使いやすいと思うよ。


760 :デフォルトの名無しさん:2008/11/11(火) 17:30:14
それなら画面の四隅にマウス持っていったらメニューが出るようなのでいい
ランチャーとかでよくあるだろ

761 :デフォルトの名無しさん:2008/11/11(火) 17:31:38
よし、最近ショートカット覚えるのも面倒になってきたし
おれもチャレンジしてみる!

762 :デフォルトの名無しさん:2008/11/11(火) 17:32:38
おれもチャレンジしてみる!

763 :デフォルトの名無しさん:2008/11/11(火) 17:34:21
じゃあおれもチャレンジしてみる!

764 :デフォルトの名無しさん:2008/11/11(火) 17:35:04
つーかメニューはこの方式でも問題ない気がしてきたよ。
いちいちクリックさせるのって、そのうち旧式UIという認識になるんじゃないかと。

765 :デフォルトの名無しさん:2008/11/11(火) 17:35:17
タスクバーを自動的に隠すクイック起動でいいじゃん

766 :デフォルトの名無しさん:2008/11/11(火) 17:35:34
僕がピョコピョコです。

767 :デフォルトの名無しさん:2008/11/11(火) 17:36:00
>>760
あーOffice付属の糞ツールにそういうのあったな
墨占有されると邪魔なんだよな

768 :デフォルトの名無しさん:2008/11/11(火) 17:44:08
>>764
16x16程度の小さなアイコンがずらずら並んでる通知領域でみんながこんな方式を採用したら相当ウザイと思うが

てか通知領域って操作性悪すぎるよなー
解像度が低いとタスクバーが狭くなるし解像度が高いと相対的にアイコンが小さくなるし
通常右端にあるから、階層の深いサブメニューが右に左に出るし

769 :デフォルトの名無しさん:2008/11/11(火) 17:46:40
>>764
クリックしなくてもいい新UIの例
ttp://takagi-hiromitsu.jp/diary/20081110.html#p01

770 :デフォルトの名無しさん:2008/11/11(火) 17:50:18
タスクトレイの自アプリのアイコンにカーソル合わせるだけでも
イラつくのに、その上クリックさせるなんて拷問だよな


771 :デフォルトの名無しさん:2008/11/11(火) 17:50:58
タスクトレイ使うのをやめればいいんじゃね?

772 :デフォルトの名無しさん:2008/11/11(火) 17:53:53
>>769
Googleの個人情報収集好きは今に始まった事ではないだろ

773 :デフォルトの名無しさん:2008/11/11(火) 17:54:51
タスクトレイにマウス乗っけると出るチップヘルプの情報あてにしてるので、
あの時点でメニュー出るのはどうかな。
右クリックと左クリックで違う機能のも多いし、まだ操作を統一するのは無理か。

774 :デフォルトの名無しさん:2008/11/11(火) 17:55:41
>>769
それはアプリの作りの問題じゃないかと。

775 :デフォルトの名無しさん:2008/11/11(火) 17:57:49
>>771
おれいつもかちゅ〜しゃとか全画面で開いてるから、
空いてる場所がタスクバーしかない。
タスクトレイが快適になるならいいと思うよ。

776 :デフォルトの名無しさん:2008/11/11(火) 18:26:42
ユーザーの好きな方法でインターフェイスにアクセスできるなら
どこに何を置こうがポップするイベントがどんなだろうが関係ない

777 :デフォルトの名無しさん:2008/11/11(火) 18:39:54
まあ利便性を追求したと思ったら結局はプログラマの一人よがりだったりする罠。

Vistaさん。

778 :デフォルトの名無しさん:2008/11/11(火) 18:41:20
>>770
カーソル合わせてもボコらない昔のツールバーがそんな感じ。

779 :デフォルトの名無しさん:2008/11/11(火) 18:43:34
ホバーさせるほうが難しそう

780 :デフォルトの名無しさん:2008/11/11(火) 19:14:18
>>769
Googleのプログラマは優秀なはずだよね
するとこれは仕様通りってことか。だれだこんな仕様にしたやつぁ

781 :デフォルトの名無しさん:2008/11/11(火) 19:21:51
>>780
>>772

782 :デフォルトの名無しさん:2008/11/11(火) 19:23:54
>>781
だからなんなんです? 知らないならレスしないで下さい。ウザイだけです。


783 :デフォルトの名無しさん:2008/11/11(火) 19:42:02
>>782
そんなこと主張するだけにレスしないで下さい。ウザイだけです。

784 :デフォルトの名無しさん:2008/11/11(火) 19:51:25
質問です
拡張コンボボックスの背景色を変更するにはどうやればいいのでしょう?
普通のコンボボックスではWM_CTLCOLORSTATICやWM_CTLCOLORLISTBOXに応答すれば出来たのですが
拡張コンボボックスでは送られてこないようです

785 :デフォルトの名無しさん:2008/11/11(火) 20:55:35
まあ名前の通りなんだが
ttp://www.vector.co.jp/soft/winnt/util/se439651.html

786 :デフォルトの名無しさん:2008/11/11(火) 21:14:33
作者乙

787 :デフォルトの名無しさん:2008/11/11(火) 21:14:55
どういたしまして

788 :デフォルトの名無しさん:2008/11/11(火) 21:19:24
今までC++でコンソールで動くソフトを作っていましたが、このプログラムをそのままAPIで使えますか?

coutとかは変えないといけないと思いますが・・・

789 :デフォルトの名無しさん:2008/11/11(火) 21:22:25
> このプログラムをそのままAPIで使えますか?
こんな出鱈目な表現してる人には移植は無理だと思う

790 :デフォルトの名無しさん:2008/11/11(火) 21:28:07
Win32APIといえばよかったです・・・

791 :デフォルトの名無しさん:2008/11/11(火) 21:33:02
「コンソールで動くソフト」というのがDOSの16ビットアプリなのかWin32CUIアプリなのかにもよる
用語を正しく使って説明し直しましょう。

792 :デフォルトの名無しさん:2008/11/11(火) 21:33:58
知らないならレスしないで下さい。ウザイだけです。

793 :792:2008/11/11(火) 21:35:13
誤爆

794 :デフォルトの名無しさん:2008/11/11(火) 21:40:03
>>791
VS2008で作ってるCUIなんですが・・・

795 :デフォルトの名無しさん:2008/11/11(火) 21:41:02
このプログラムをそのままWin32APIで使えますか?

に修正しても意味分かりません

796 :デフォルトの名無しさん:2008/11/11(火) 21:44:22
TCHARをchar型に変換するにはどうしたらいいの?

797 :デフォルトの名無しさん:2008/11/11(火) 21:49:12
>>796
それマジで言ったん?ソースあんならすぐ出せ
マジなら2ちゃんねら総力を上げて潰すが

798 :デフォルトの名無しさん:2008/11/11(火) 21:50:18
ワイド文字でぐぐれ

799 :デフォルトの名無しさん:2008/11/11(火) 21:51:06
>>797
総力ってお前誰だよ
今ふと思ったが
妙に「ねらー」とか「2ちゃんねら」とか言うの多いな
なんつうかν速慣れしてなそうな感じの


800 :デフォルトの名無しさん:2008/11/11(火) 21:52:52
>>795
例えばwaveファイルを読み込む関数があってfunc.cppに本体を記述、func.hにヘッダが書いてあります。

func.hをインクルードしてWinMainから読み込む関数呼び出したら正しく動きますか?

読み込む関数内ではcoutとか使ってるんですが・・・(allocation error!とかを表示)

801 :デフォルトの名無しさん:2008/11/11(火) 21:58:39
>>ALL-1
書き込まないで下さい。ウザイだけです。

802 :デフォルトの名無しさん:2008/11/11(火) 22:00:19
>>800
うまいなー
韜晦の仕方っていうか、もうこれ忍術じゃね?

803 :デフォルトの名無しさん:2008/11/11(火) 22:31:33
ここで質問していいことじゃないかもしれないけど、フォトショップってこれでつくれるの?

804 :デフォルトの名無しさん:2008/11/11(火) 22:50:52
どれですか?

805 :デフォルトの名無しさん:2008/11/12(水) 00:23:08
>>796

#ifdef UNICODE
wsprintfA(c,"%ls",t)
#else
wsprintfA(c,"%hs",t);
#endif

806 :デフォルトの名無しさん:2008/11/12(水) 00:31:17
>>805
間違いです

807 :デフォルトの名無しさん:2008/11/12(水) 00:54:20
>>806

;が足りない?

808 :デフォルトの名無しさん:2008/11/12(水) 01:23:59
796の書き方では、変換元が文字列かどうか断定できない。
単体の文字かもしれないでしょ。

809 :デフォルトの名無しさん:2008/11/12(水) 01:49:13
const TCHAR* src = _T("あ");
char* dest = string_cast<char*>(src);
printf("%s\n", dest);

こういうの作りたいけどまあ無理か
CT2AやT2Aがイマイチ気に食わないんだよな・・・
(とか言いつつ使ってるが)

810 :デフォルトの名無しさん:2008/11/12(水) 01:55:17
CT2Aとか使っているなら、ATLが使えるはずだ。
#include <stdio.h>
#include <atlbase.h>
#include <atlstr.h>

int main()
{
ATL::CString s = _T("あ");
ATL::CStringA d = static_cast<ATL::CStringA>(s);
printf("%s\n", static_cast<const char*>(d));
}

811 :デフォルトの名無しさん:2008/11/12(水) 02:14:19
いやまあそうなんだけど

812 :デフォルトの名無しさん:2008/11/12(水) 02:22:26
OLEとかもここでいい?

813 :デフォルトの名無しさん:2008/11/12(水) 02:24:50
スレタイよんでくれないか

814 :デフォルトの名無しさん:2008/11/12(水) 02:31:24
すまなかった。邪魔したな。

815 :デフォルトの名無しさん:2008/11/12(水) 02:33:09
スレタイからしてありだと思うぞ、程度にもよるが。

816 :デフォルトの名無しさん:2008/11/12(水) 02:43:54
.NET → .NETスレへ
ActiveX → 知らん
OO4O → DB板へ
ODBC → DB板へ
COM → VBスレへ
OLE2 → 知らん
DirectX → ゲ製板へ
---------------------このスレのボーダーライン
OLE → どうなっても知らんぞ
Shell関係
ComCtl
Win32API

これでいい?

817 :デフォルトの名無しさん:2008/11/12(水) 02:46:50
>>816
そういう指標がテンプレにあると楽だね。
誘導も兼ねてるし。

818 :デフォルトの名無しさん:2008/11/12(水) 02:48:10
>COM → VBスレへ

馬鹿?

819 :デフォルトの名無しさん:2008/11/12(水) 02:50:30
>>818
じゃあどこよ?
おれはCOM関係はいつもVBの達人に聞いてるよ

820 :デフォルトの名無しさん:2008/11/12(水) 02:53:41
>>816
OLE/OLE2/COM/ActiveXの全般的な話はこっちがいい。
【OLE】オートメーション総合スレ【ActiveX】
http://pc11.2ch.net/test/read.cgi/tech/1137771139/l50
IEコンポーネントを使い倒すスレ Ver.2
http://pc11.2ch.net/test/read.cgi/tech/1145189322/l50
個別のコンポーネントに関しては>>819の言う通り、VB使いを当たったほうがいいだろうな。

DirectXは同じ板のほうにしてやれ。
【C++】 DirectX初心者質問スレ Part19 【C】
http://pc11.2ch.net/test/read.cgi/tech/1224942911/l50

で、API関数(CoCreateInstanceなど)やIShellFolderのようなWindowsが実装するものに関しては、
ここでもいいと思っている。ただ、答える人間がいるかどうかが問題。

821 :デフォルトの名無しさん:2008/11/12(水) 03:02:36
COMがVBとか頭悪すぎだろ
そんな奴が無理に仕切ろうとしなくてもいいよ

822 :デフォルトの名無しさん:2008/11/12(水) 03:04:56
>820&皆
夜遅くにthx。IEスレに書いてきた。
良かったら答えてやってくれ。

823 :デフォルトの名無しさん:2008/11/12(水) 03:48:26
525 2008/10/12(日) 14:12:10
526 2008/11/12(水) 03:01:30

過疎ってるスレだな・・・

824 :デフォルトの名無しさん:2008/11/12(水) 04:04:26
age忘れたのは致命的かもしれんなw

825 :デフォルトの名無しさん:2008/11/12(水) 06:29:50
こっちも過疎ってるんだからここでもいいと思うんだがなw

826 :デフォルトの名無しさん:2008/11/12(水) 06:37:56
ダメだよ

827 :デフォルトの名無しさん:2008/11/12(水) 07:50:24
Windows 7のDirect2DとかDirectWriteはどこでやることになるんだろうな。
Direct2Dはともかく、DirectWriteはDirectXスレではないと思うが。

828 :デフォルトの名無しさん:2008/11/12(水) 08:12:59
DirectWriteスレが立つだけだろ

829 :デフォルトの名無しさん:2008/11/12(水) 08:39:18
COMスレのことも忘れないでやってください。
個人的にはお世話になってるスレ

COM
http://pc11.2ch.net/test/read.cgi/tech/1168427595/


830 :デフォルトの名無しさん:2008/11/12(水) 08:42:26
ここも

どうしてCOMは即死したのか
http://pc11.2ch.net/test/read.cgi/tech/1143171172/

831 :デフォルトの名無しさん:2008/11/12(水) 10:25:08
いい加減APIオンリーで.NETのクラスライブラリの提供ないっていうの止めて欲しいぜ
いつまでたっても移行できないじゃん

ttp://www.microsoft.com/japan/whdc/device/network/WFP.mspx

VistaでまたAPIだけ追加しやがって死ねよ本当にww

832 :デフォルトの名無しさん:2008/11/12(水) 10:35:42
いったい何がどうして移行できないのか

833 :デフォルトの名無しさん:2008/11/12(水) 11:22:13
APIゴリゴリ書きながらライブラリ作りこむの楽しいです(^q^)

834 :デフォルトの名無しさん:2008/11/12(水) 12:12:55
楽しくねーよ

835 :デフォルトの名無しさん:2008/11/12(水) 13:41:07
>>833
よだれを ふきなさい

836 :デフォルトの名無しさん:2008/11/12(水) 13:48:27
知らないならレスしないでください。

837 :デフォルトの名無しさん:2008/11/12(水) 13:52:59
何時間もかけてヘッダをちまちまマネージ型に書き直すのは嫌だお><

838 :デフォルトの名無しさん:2008/11/12(水) 13:53:08
心中お察しします

839 :デフォルトの名無しさん:2008/11/12(水) 14:50:07
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな

840 :デフォルトの名無しさん:2008/11/12(水) 14:54:07
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな


841 :デフォルトの名無しさん:2008/11/12(水) 14:55:21
あえて問おう。
それは大切なことか?

842 :デフォルトの名無しさん:2008/11/12(水) 15:03:22
.NET が (or/and OO が) よく理解できなかった >>839 にとっては。

843 :デフォルトの名無しさん:2008/11/12(水) 15:05:38
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな

844 :デフォルトの名無しさん:2008/11/12(水) 15:09:44
大切なことだとしても3度言うほどじゃない

845 :デフォルトの名無しさん:2008/11/12(水) 15:10:36
.NETを否定されると即反論してくる奴ってどこのスレにもいるよなw
宗教みたいで気味悪いぜ

846 :デフォルトの名無しさん:2008/11/12(水) 15:11:01
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな

847 :デフォルトの名無しさん:2008/11/12(水) 15:17:16
所詮Win32APIなんて.NETのラッパーじゃん
WPF関連とかもライブラリ用意されてないの多いし、未だにSendMessageとかアホかと

Win16時代からずっとそうだが基本的に思考停止したオッサンが開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作ったらかえって危険だからな

848 :デフォルトの名無しさん:2008/11/12(水) 15:18:36
.NETを否定されると即反論してくる奴ってどこのスレにもいるよなw
宗教みたいで気味悪いぜ

849 :デフォルトの名無しさん:2008/11/12(水) 15:19:38
間違った認識に突っ込みたいだけじゃないかな
スルー汁

850 :デフォルトの名無しさん:2008/11/12(水) 15:22:44
.NET教徒は.NETが他の如何なる言語やクラスライブラリより優れてると言って貰えるまで気が済まないからな
スルー汁

851 :デフォルトの名無しさん:2008/11/12(水) 15:23:11
スルー汁

852 :デフォルトの名無しさん:2008/11/12(水) 15:25:04
「スルー汁」って何?

853 :デフォルトの名無しさん:2008/11/12(水) 15:31:02
クズが最近覚えた言葉を使いたがる
そういうことだ

854 :デフォルトの名無しさん:2008/11/12(水) 15:50:35
バグの無い効率の良いプログラムが効率よく書ければWin32APIだろうと.NETだろうとどこぞのライブラリだろうと構わんのだけどな。
所詮は手段でしかないし。

855 :デフォルトの名無しさん:2008/11/12(水) 15:51:39
>>852
おいしいからいっぺん食ってみな

856 :デフォルトの名無しさん:2008/11/12(水) 15:56:12
>>854
じゃあ、あなたにはこのスレは不要ですね。
どうぞお引取りください。

857 :デフォルトの名無しさん:2008/11/12(水) 16:04:04
>>852
「Throughしろ」が変化して「Throughしる」になった


858 :デフォルトの名無しさん:2008/11/12(水) 16:05:15
汁おじさんが元祖w

859 :デフォルトの名無しさん:2008/11/12(水) 16:10:06
今日リリースビルドしたVCprojのexeがぴったり1Mになったので祝ってくれ

860 :デフォルトの名無しさん:2008/11/12(水) 16:13:43
デフォだと4096バイト単位でアラインされるからそんなの別に珍しくないだろ

861 :デフォルトの名無しさん:2008/11/12(水) 16:21:07
うそーん?プロジェクトのオプソはリンクするライブラリ以外いじってないからたぶんデフォだ・・・

862 :デフォルトの名無しさん:2008/11/12(水) 17:37:19
でかすぎじゃね?

863 :デフォルトの名無しさん:2008/11/12(水) 17:43:09
[ロリ動画](無修正)小学生しおり10才・りえ11才・めぐみ12才・後半乳首を舐めあってレズってます.mpg

864 :デフォルトの名無しさん:2008/11/12(水) 17:49:04
謎の文字列でくれ

865 :デフォルトの名無しさん:2008/11/12(水) 18:24:29
お互いのチクビをなめあうって事は、上四方固めの体勢か

866 :デフォルトの名無しさん:2008/11/12(水) 19:32:53
知らないならレスしないで下さい。ウザイだけです。

867 :デフォルトの名無しさん:2008/11/12(水) 19:41:20
所詮Win32APIなんて.NETのラッパーじゃん
WPF関連とかもライブラリ用意されてないの多いし、未だにSendMessageとかアホかと

Win16時代からずっとそうだが基本的に思考停止したオッサンが開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作ったらかえって危険だからな

868 :デフォルトの名無しさん:2008/11/12(水) 19:42:12
867 名前:デフォルトの名無しさん[sage] 投稿日:2008/11/12(水) 19:41:20
所詮Win32APIなんて.NETのラッパーじゃん

869 :デフォルトの名無しさん:2008/11/12(水) 19:51:54
.NETを否定されると即反論してくる奴ってどこのスレにもいるよなw
宗教みたいで気味悪いぜ

870 :デフォルトの名無しさん:2008/11/12(水) 19:53:40
大切なことだとしても何度も言うほどじゃない

871 :デフォルトの名無しさん:2008/11/12(水) 19:56:14
あえて問おう。
それは大切なことか?

872 :デフォルトの名無しさん:2008/11/12(水) 19:58:54
後半でキスだけ?

873 :デフォルトの名無しさん:2008/11/12(水) 20:08:57




874 :デフォルトの名無しさん:2008/11/12(水) 21:04:28
以上が「.NET信者に構うとスレが荒れる」法則です

875 :デフォルトの名無しさん:2008/11/12(水) 21:19:21
.netは入れてあるけど.netがないと動かないソフトは何があっても使わない

876 :デフォルトの名無しさん:2008/11/12(水) 21:21:12
別にかまわんけど
スレに書くほどのことじゃなくね?
オナニーして寝ちまったほうがいくね?

877 :デフォルトの名無しさん:2008/11/12(水) 21:21:59
.NETは重い。フォーム一つ出すだけでWin32の数千倍もの時間がかかる。
しかもクラスライブラリが糞。劣化Java+糞VBランタイムの焼き直しでしょあれ。
結局、アンマネージコード無くては屑ソフトしか作れない。
しかも事実上Windows専用(それもXP以降とか)。さすが独占企業。

878 :デフォルトの名無しさん:2008/11/12(水) 21:24:01
  ∬∬∬
   人
  ⊂ ⊃ 
  ⊂  ⊃   ∽ プ〜ン
 ⊂__⊃

879 :デフォルトの名無しさん:2008/11/12(水) 21:25:30
>>876
このように、少しでも否定されるとすぐさま反論してきます
彼らは一日中Win32APIスレに張りついているのでしょうか

880 :デフォルトの名無しさん:2008/11/12(水) 22:04:08
いや、いいんだけど、
やってることはWin32APIスレを破壊することなんだが

881 :デフォルトの名無しさん:2008/11/12(水) 22:23:21
>>827
Direct2DとかってせめてVistaでも使えるようにしてくれれば
よかったのに・・・正直浸透する前に別のものになったりして
消えそうで怖い・・・

882 :デフォルトの名無しさん:2008/11/12(水) 22:32:45
VistaもWDDM1.1にアップデートされれば使えるようになるだろ
する予定はあるって言ってるし

883 :デフォルトの名無しさん:2008/11/12(水) 22:33:16
絶対になくならないのがWin32APIのいいところ

884 :デフォルトの名無しさん:2008/11/12(水) 22:40:55
Direct2Dと聞いて「DirectDrawなら95時代からあったじゃん。何を今更・・・」と一瞬思った俺

885 :デフォルトの名無しさん:2008/11/12(水) 22:43:41
いままでのはDirectじゃなかったんですね?

886 :デフォルトの名無しさん:2008/11/12(水) 23:04:22
その記憶はドローしました

887 :デフォルトの名無しさん:2008/11/12(水) 23:39:36
>>884
よう、俺

888 :718:2008/11/13(木) 00:16:39
書き込み以来来てませんでしたが、
久しぶりに来て見るといろいろと助言が。ありがとうございます。

一応、自分でいろいろと試行錯誤を繰り返し、
フォルダの時間を変更する事はなんとかできるようになりました。
1 CreateFileを使ってハンドルを取得
2 持ってる時間(CTime)のSystemTimeをFILETIMEに変換
3 SetFileTime関数を用いて変更
CreateFileの引数をいろいろいじると変更可能になってました。

時間が変っていうのはあるものの、なんとな成りそうです。
ちなみに…、煽ったりしてるのは自分ではないですよ。



889 :デフォルトの名無しさん:2008/11/13(木) 00:37:46
別にかまわんけど
スレに書くほどのことじゃなくね?
オナニーして寝ちまったほうがいくね?

890 :デフォルトの名無しさん:2008/11/13(木) 00:52:53
> CreateFileの引数をいろいろいじると

どうしたら可能になったのか書かないからオナニーなんだよ

891 :デフォルトの名無しさん:2008/11/13(木) 01:33:06
エクスプローラで、フォルダに対して画像を貼りつけることが
できます。
あれを自作のプログラム側で実行したいのですが、実装方法が
まるでわかりません。

何かAPIが用意されているのでしょうか?それともレジストリを
シコシコいじるしか方法はないんでしょうか?


892 :デフォルトの名無しさん:2008/11/13(木) 01:49:00
「フォルダに対して画像を貼りつける」の意味が分からないんだが。

893 :デフォルトの名無しさん:2008/11/13(木) 01:53:07
Paint.netは使ってる

894 :デフォルトの名無しさん:2008/11/13(木) 02:38:44
>>892
知らないならレスしないで下さい。ウザイだけです。

895 :デフォルトの名無しさん:2008/11/13(木) 02:47:09
画像じゃなくてもファイルだったら何でも貼り付けれるじゃん

896 :デフォルトの名無しさん:2008/11/13(木) 02:57:14
>>891
とりあえずdesktop.iniで出来る。
http://cell-blog.blogspot.com/2006/02/folder-background-pictures-for-windows.html
シェルAPIでも出来るかどうかは知らない。

897 :デフォルトの名無しさん:2008/11/13(木) 02:59:06
なんだそういう意味だったのか
>>891の説明じゃ全く分からなかった
>>896はエスパーだな

898 :デフォルトの名無しさん:2008/11/13(木) 03:29:58
エスパーじゃなくて普通だろ
お前の頭が悪すぎるだけ

899 :デフォルトの名無しさん:2008/11/13(木) 04:03:07
フォルダ(ウィンドウ)に対して(背景に)画像を貼りつけることができます。

この程度なら文脈で判断できるよなw
>>897は日本人では無いみたいだ

900 :デフォルトの名無しさん:2008/11/13(木) 04:46:44
↓荒れる原因となるレス

901 :デフォルトの名無しさん:2008/11/13(木) 04:58:57
Since I'm not a Japanese, I don't know what he wants to say.

902 :デフォルトの名無しさん:2008/11/13(木) 05:08:04
普通にフォルダアイコン右クリックで貼り付けかと思ったorz

903 :デフォルトの名無しさん:2008/11/13(木) 05:59:46
俺は、mspaintで画像切り取ってエクスプローラにペーストできる機能のことかと思ってた。

904 :デフォルトの名無しさん:2008/11/13(木) 06:17:43
>>900-903
日本人以外はレスしないで下さい。ウザイだけです。

905 :デフォルトの名無しさん:2008/11/13(木) 06:31:15
コスモポリタン以外はレスを(ry

906 :デフォルトの名無しさん:2008/11/13(木) 06:49:27
>>881
Vistaにはバックポートされると思う。多分。

907 :デフォルトの名無しさん:2008/11/13(木) 06:55:57
WPFがあるのに何でまた新しいAPIを増やすのだろう

908 :デフォルトの名無しさん:2008/11/13(木) 07:09:08
既存のOSにない新機能を追加しないと買い替えが進まないから

909 :デフォルトの名無しさん:2008/11/13(木) 07:29:16
新機能を追加したところでそれを使ったソフトが増えない事にはねぇ・・・

個人的に、XPのシェアを考えるとOSのサポートが終了まで切り捨てできないと思うから
ほとんどのソフトはそんなの使わないと思うよ
だってWin9xのサポート終了するまでUnicodeアプリなんてほとんど無かったでしょ

910 :デフォルトの名無しさん:2008/11/13(木) 07:58:49
それは関係ねーよ。
未だに馬鹿外人の作ったコードはマルチバイト文字ばっかりだぜ。

911 :デフォルトの名無しさん:2008/11/13(木) 08:18:19
国籍も関係ないんじゃw

912 :デフォルトの名無しさん:2008/11/13(木) 08:20:10
関係あるよ
シェアがそれなりにあるOSはそう簡単には切り捨てられないということ
(UnicodeアプリにするとWin9xで動かないからね)
例えばWindows2000なんかはシェアが低いからメインストリーム終了と共に続々と切り捨てられてる

913 :デフォルトの名無しさん:2008/11/13(木) 08:20:18
マルチバイト文字ばっかりならいいじゃないか

914 :デフォルトの名無しさん:2008/11/13(木) 08:26:13
>>910
そりゃ1バイト圏のプログラマは普通は1バイト圏で使う事しか想定していないからだろ
だからわざわざUnicodeビルドする必要も無い

915 :デフォルトの名無しさん:2008/11/13(木) 08:29:34
マルチバイトで困ってるのって実は日本ぐらいじゃないの?
そもそもShiftJISでバックスラッシュが0x5cにあるのが問題な訳だし、
それ以外はあまり大きな問題ではなかろう

916 :デフォルトの名無しさん:2008/11/13(木) 08:45:19
MFCなら、ちゃんとソースを書いておけば、既存のプロジェクト設定をコピー
して、「_MBCS」の代わりに「_UNICODE」を定義したビルド設定を作成する
だけで、MCBS(シングルバイト)環境用と、ユニコード環境用のバイナリを
いとも簡単に生成することができる。

xxxxAとかxxxxWという関数の使い分けは、全部マクロやフレームワークが
面倒見てくれる。

いまだにSDKでしかプログラムを書けない、C++はできると言うのに、(C++
で書かれたソース付きの)MFCは判らないとか文句を言う、似非グラマが
多数いる。

別にSDKで書いてもいいが、メッセージループを廻していなくて、時間が
掛かる処理でウィンドウの描画が止まってしまうとか、勘弁してほしい。

917 :デフォルトの名無しさん:2008/11/13(木) 08:52:06
> メッセージループを廻していなくて、時間が掛かる処理でウィンドウの描画が止まってしまう
MFCプログラマって時間が掛かる処理でメッセージループを廻すという古臭い発想を未だに持ってるの?
普通スレッド立てるだろ・・・

918 :デフォルトの名無しさん:2008/11/13(木) 09:34:12
マスゴミが公共事業を無駄とか言ってる国でモノが売れるわけねーだろ

919 :デフォルトの名無しさん:2008/11/13(木) 10:01:14
>>915
自分で文字列処理とか書いたことない人?
マルチバイトは文字通り途中で切れるのが大変だろ。

920 :デフォルトの名無しさん:2008/11/13(木) 10:04:54
>>919
つ CharNext/CharPrev

921 :名無し募集中。。。:2008/11/13(木) 10:07:17
昔VCでDoEventsという関数を作っている人がいて失望した

922 :デフォルトの名無しさん:2008/11/13(木) 10:24:57
サ変活用のある日本語らしい考え方じゃないか。

923 :デフォルトの名無しさん:2008/11/13(木) 10:27:30
>>922
そのレスから察するにDoEventsを知らないようだな。

924 :デフォルトの名無しさん:2008/11/13(木) 10:29:43
>>922
知らないならレスしないで下さい。ウザイだけです。

925 :デフォルトの名無しさん:2008/11/13(木) 10:31:38
>>920
そういう関数があること自体、マルチバイトの問題があるってことなわけで。

926 :デフォルトの名無しさん:2008/11/13(木) 10:34:09
>>925
CharNextW/CharPrevWもありますが何か?

927 :デフォルトの名無しさん:2008/11/13(木) 10:34:57
微妙にイミフだったんだけど

>別にSDKで書いてもいいが、メッセージループを廻していなくて、時間が
>掛かる処理でウィンドウの描画が止まってしまうとか、勘弁してほしい。

これってもしかして時間がかかるループ内はPeekMsgやDispatchMsg呼べって話?

928 :デフォルトの名無しさん:2008/11/13(木) 10:35:30
>>926
それもシングルバイトじゃない

929 :デフォルトの名無しさん:2008/11/13(木) 10:36:30
>>926
元の>>914見てないのか

930 :デフォルトの名無しさん:2008/11/13(木) 10:44:02
>>929
>>914の何が「元」なんだ?

931 :デフォルトの名無しさん:2008/11/13(木) 10:46:46
ふと気になって調べてみたが
XPSP3ではCharNextWはサロゲートペアを無視だな

932 :デフォルトの名無しさん:2008/11/13(木) 10:48:43
俺はShellExecuteExを1回呼ぶだけでもスレッド作って丸投げだな。

933 :デフォルトの名無しさん:2008/11/13(木) 10:50:10
UnicodeビルドすればCharNextW/CharPrevWは不要と思ってる奴は
結局>>914が言う1バイト圏のプログラマと発想は同じ

>>931
Vistaでもサロゲートペアは無視するらしいぞ

934 :デフォルトの名無しさん:2008/11/13(木) 10:55:34
CharNextAのプログラムを無理やりUNICODEにするのに
エスケープとしてCharNextWとか使ってるだけだろ

サロゲートペアなんか気にするなら初めからUNICODEで書けってこった

935 :デフォルトの名無しさん:2008/11/13(木) 10:56:27
utf32を使えば、現時点では、サロゲートペアは不要。
そしてC++0xに入る。
VC10では実装されないが。

936 :デフォルトの名無しさん:2008/11/13(木) 11:00:00
>>934
ヒント:結合文字

937 :891:2008/11/13(木) 12:07:44
>>896
エスパーな返信をいただいたところを申しわけないですが、違うんです。

エクスプローラでフォルダのプロパティ画面を出して、「カスタマイズ」タブを
選択します。
その中の「フォルダの画像」−「ファイルの選択...」ってのをやるとフォルダ
アイコンの中に特定の画像を貼り付けることができます。

これをプログラム側から設定したいのですが、方法がサッパリわからん
です。

何かAPIが用意されているのでしょうか?
ということを聞きたかったのです。(省略しすぎですみません)





938 :デフォルトの名無しさん:2008/11/13(木) 12:10:33
それってesktop.iniじゃねえの?やっぱり

いまさらだがMSもini使ってるのな未だに

939 :デフォルトの名無しさん:2008/11/13(木) 12:12:15
esktop.ini

940 :デフォルトの名無しさん:2008/11/13(木) 12:53:35
Vistaって隠しファイルを表示する設定だと
デスクトップにiniが出てきちゃわない? しかもユーザー用とAll User用と二つ。
あれはひどい

941 :デフォルトの名無しさん:2008/11/13(木) 15:15:51
指示通り、隠しファイルを表示しただけなのに
この言われ様。

942 :デフォルトの名無しさん:2008/11/13(木) 15:28:07
保護されたオペレーティングシステムファイルも表示するようにしないと、表示されないなw

943 :デフォルトの名無しさん:2008/11/13(木) 15:29:47
ゴミには自分の設定した事の意味なんて分からないんだろうな

944 :デフォルトの名無しさん:2008/11/13(木) 15:37:53
いや、XPまではデスクトップ上のdesktop.iniは表示されなかったでしょ。
もちろんエクスプローラ等で掘っていけば表示されるけども。

945 :デフォルトの名無しさん:2008/11/13(木) 15:44:48
いや、表示されるから。

946 :デフォルトの名無しさん:2008/11/13(木) 16:01:09
>>943がゴミって事だけはわかった。

947 :デフォルトの名無しさん:2008/11/13(木) 16:03:04
XPだとデスクトップには出なかったな

948 :デフォルトの名無しさん:2008/11/13(木) 16:10:52
XPでもdesktop.iniを作成してフォルダオプションで表示するように設定すれば表示された
Vistaと同じ挙動

949 :デフォルトの名無しさん:2008/11/13(木) 16:36:40
何か、でっかいちんぽをしゃぶりたくなってきた

950 :デフォルトの名無しさん:2008/11/13(木) 16:42:32
tnok禁止

951 :デフォルトの名無しさん:2008/11/13(木) 17:50:37
>>917
スレッド立ててもメッセージループ廻してもいいけど、そのどちらも
やっていない有名ソフトは数多い。

例えば、評判が悪いウイルスバスター(更新処理中)とか、Mozilla
Thundirbird(メール受信処理中)とかな。

Thundirbirdに至っては、メール受信中は、ウィンドウのサイズ変更や
移動、最小化/最大化といった操作さえできない。 細かなバグはとも
かく、Netscape 4.0の方がずっとマシな造りだった。

他にも、ファイルのドラッグ&ドロップ操作でこれを取り込んでリスト
ビューに追加する処理なんかをメッセージループを廻さずにプライマリ
(GUI)スレッドに書いていると、数百個のファイルをまとめてドラッグ&
ドロップすると、動作環境の性能にもよるけど数十秒間まったく無反応
になる。

952 :デフォルトの名無しさん:2008/11/13(木) 17:55:48
スレッド使うのはいいが、SDKで組むような連中は、スレッドが終了
しても、スレッドの使ったメモリ領域の解放処理とかちゃんとやって
なくて、1回でリークするメモリ量はわずかだが、ある操作でスレッドが
生成されるたびに、どんどんメモリ減っていくとかよくあるな。

953 :デフォルトの名無しさん:2008/11/13(木) 18:03:52
メール受信でDB弄ってるときに下手に操作されるより
UIばっさり止めておいたほうが安全確実なんだよ。

954 :デフォルトの名無しさん:2008/11/13(木) 18:12:54
知らないならレスしないでください。ウザイだけです。

955 :デフォルトの名無しさん:2008/11/13(木) 18:21:33
>>953
それならせめてモーダルダイアログで受信中ですって表示するだけでも、随分と印象が違うと思う。

956 :デフォルトの名無しさん:2008/11/13(木) 18:29:21
>>951
俺はThundirbirdを使ったことがないが、 Thunderbirdならきっちりマルチスレッドで動作してるぞ?

957 :デフォルトの名無しさん:2008/11/13(木) 18:32:33
なに? 不思議ちゃん?

958 :デフォルトの名無しさん:2008/11/13(木) 18:41:41
>>953
> メール受信でDB弄ってるときに下手に操作されるより
> UIばっさり止めておいたほうが安全確実なんだよ。

その割りにメールの概要ファイルがたまに壊れるんですが?(w

あと、初期のNetscape 2.0か3.0頃にあったバグで、受信したメールを
1件ずつ消せば、サーバーを消し損ねても重複して受信するメールは1件
で済むのに、最初にサーバー上のメール件数を取得してforループで
メール受信した後、まとめてサーバー上のメールを消しているらしく、
メール受信中に通信が途切れると、受信済みのメールがサーバーに残っ
てて、同じメールを受信しちゃうんだな。

Netscape 4.xでは直っていたバグなのに、なんとThunderbirdで復活
している。(w

未読が数百件あってこれをやられるとつらい。 しかも受信開始ボタン
はあっても、キャンセルボタンがない(Netscapeはあった)ので、タイム
アウトするか全部受信を終わるまで止められない。

あとメールをスレッド毎のツリー表示できるが、参照元のメールにジャ
ンプできるボタンが無くなってるし、複数インスタンス起動して、ウィン
ドウを並べて別のメールフォルダを表示したり、ダブルクリックでメール
本文を別ウィンドウで複数表示したりといった、Netscape 3.x/4.xでは
普通に可能だったこともできない。

アイコンがフルカラーなくらいで、プログラム的な中身の造りは、むしろ
チープという印象。

なんでこんなソフトが世界的に高評価なのか理解に苦しむ。

959 :デフォルトの名無しさん:2008/11/13(木) 18:42:41
スレと関係ねえ

960 :デフォルトの名無しさん:2008/11/13(木) 18:51:44
企業製品から暇人プログラマの道楽になったんだから当たり前だろ

961 :デフォルトの名無しさん:2008/11/13(木) 19:02:07
>>958
オープンソースなんだからお前が直せばいいだろ

962 :デフォルトの名無しさん:2008/11/13(木) 19:08:02
.netを悪く言うと信者が荒らしに来る、というのはわかった

963 :デフォルトの名無しさん:2008/11/13(木) 19:31:03
.net(笑)

964 :デフォルトの名無しさん:2008/11/13(木) 19:31:30
ホントだな・・・
スレと無関係な話題を振ったりして全力で潰しにかかってくるようだ

965 :デフォルトの名無しさん:2008/11/13(木) 19:33:41
.netを知らない奴が偉そうに.netを否定するからだ
分かったら二度と.netの悪口は言わないこった

966 :デフォルトの名無しさん:2008/11/13(木) 19:38:30
知らないならレスしないで下さい。ウザイだけです。

967 :デフォルトの名無しさん:2008/11/13(木) 19:44:50
.netを知らないならレスしないで下さい。キモイだけです。

968 :デフォルトの名無しさん:2008/11/13(木) 19:47:05
.netの話題は出さないでください。ウザイだけです。
Win32APIの話題だけお願いします。

969 :デフォルトの名無しさん:2008/11/13(木) 19:51:20
知らないけどレスします。ウザくて上等です。

970 :デフォルトの名無しさん:2008/11/13(木) 20:04:06
>>514>>663>>682>>831

どうやらスレの後半になってくると.netの話題を振りたがる奴がいるみたいだな
Win32APIで.netの話題なんか出したら荒れる事ぐらい分かってるだろうから確信犯か

971 :デフォルトの名無しさん:2008/11/13(木) 20:17:29
そろそろ次スレが必要なので
●持ちの賎民はアップをお願いします

972 :デフォルトの名無しさん:2008/11/13(木) 20:20:34
賎民て、

973 :名無し募集中。。。:2008/11/13(木) 20:31:31
Win32API質問箱 Build72
http://pc11.2ch.net/test/read.cgi/tech/1226575789/l50


974 :デフォルトの名無しさん:2008/11/13(木) 20:34:15
>>973


975 :デフォルトの名無しさん:2008/11/14(金) 00:35:05
ローカル版のMSDNライブラリより検索が早く
関連項目のまともなヘルプはどこにあるかご存知ありませんか?

昔delphiについてたwin32apiのヘルプはとても重宝しました
あれに似たものがあるとうれしいのですが

976 :デフォルトの名無しさん:2008/11/14(金) 00:37:51
>>975
それでいいじゃん

977 :デフォルトの名無しさん:2008/11/14(金) 01:03:21
VC++6.0に付いてたHtmlHelp版が一番良かった

誰か、
オンライン版MSDNのhtmlを根こそぎダウンロード
→不要なJavaScriptやCSSなどを削除して軽量化
→HTML Help Workshopへ突っ込んでジャンル別にchmを自動生成
してくれるスクリプトでも書いてくれ

978 :デフォルトの名無しさん:2008/11/14(金) 01:05:50
検索ならsite:msdn.microsoft.comでググるのが速い。
>>977が出来上がったら、CHMプラグインつけてGoogleデスクトップするのが良さそうな気がする。

979 :デフォルトの名無しさん:2008/11/14(金) 01:10:43
正直Document Explorerは改悪だと思う

980 :デフォルトの名無しさん:2008/11/14(金) 01:13:44
Silverlightのヘルプはchmでも配っているのが助かるw
俺が見るのは基本的にchmの方だな。

981 :デフォルトの名無しさん:2008/11/14(金) 01:20:31
VisualStudioと言語のヘルプでいいのに
10G以上もあるMSDNを入れさせるのが害悪だろ

982 :デフォルトの名無しさん:2008/11/14(金) 01:38:10
>>981
インストール時に要らないやつのチェック外せよ。
10GBの内訳はほとんど全部ドキュメントのはず。

983 :デフォルトの名無しさん:2008/11/14(金) 07:31:15
>>981
高々10GBぐらい入れなよ。
自分の体はメタボなのにHDDはダイエットってへんじゃね

984 :デフォルトの名無しさん:2008/11/14(金) 08:08:53
高々10GBw
大容量化の弊害w

985 :デフォルトの名無しさん:2008/11/14(金) 09:50:23
どうせ最近は開発環境だってデカいのだから「高々10GB」じゃないの?
VC6の頃なんてIDE+SDKのみだと100MB程度だったが。

986 :デフォルトの名無しさん:2008/11/14(金) 09:51:41
現場では未だにVC5だったり

987 :デフォルトの名無しさん:2008/11/14(金) 14:38:47
別にいいんじゃね?

988 :デフォルトの名無しさん:2008/11/14(金) 14:48:57
別にいいよな

989 :デフォルトの名無しさん:2008/11/14(金) 15:04:00
そうかな?

990 :デフォルトの名無しさん:2008/11/14(金) 15:09:32
別にいいよ?

991 :デフォルトの名無しさん:2008/11/14(金) 15:10:38
別にいいですよね?

992 :デフォルトの名無しさん:2008/11/14(金) 15:19:01
いやどうだろ?

993 :デフォルトの名無しさん:2008/11/14(金) 15:20:10
FindDirstFileとFindNextFileで "*.*" をキーにしてディレクトリの中身を総ざらいするとき
.
..
がひっかかってしまいますが、これを検索にかからないようにする方法はあるのでしょうか?

最初の2つの結果を捨てたらいいかなーとか思ってるんですが、
あまりスマートじゃない気がするので…

994 :デフォルトの名無しさん:2008/11/14(金) 15:22:02
if( filename[0] == '.' ){
 ここでやる
}

995 :デフォルトの名無しさん:2008/11/14(金) 15:22:50
逆だったばかぶたどじうんこ

if( filename[0] != '.' ){
 ここでやる
}

これでいいだろ?

996 :デフォルトの名無しさん:2008/11/14(金) 15:23:29
どうかな

997 :デフォルトの名無しさん:2008/11/14(金) 15:25:15
残念ながら.から始まる普通のファイルを作成可能なのでそれではダメだ。
まあ、Unix系のアプリぐらいしかそんなもん作らないが普通。

998 :デフォルトの名無しさん:2008/11/14(金) 15:27:47
そしたら2つみちゃえよもう

999 :デフォルトの名無しさん:2008/11/14(金) 15:32:50
>>993
>あまりスマートじゃない気がするので…
でも、それしかない。
>>998
もちろん、それしかない。

1000 :デフォルトの名無しさん:2008/11/14(金) 15:34:03
レスどうもです。

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

188 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)