トップページ⇒tech
1001コメント241KB

Win32API質問箱 Build71

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん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/
0002デフォルトの名無しさん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
0003デフォルトの名無しさん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
0004デフォルトの名無しさん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/
0005デフォルトの名無しさん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/
0006デフォルトの名無しさん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
0007デフォルトの名無しさん2008/10/23(木) 16:05:03
(゚д゚ )乙 これは乙じゃなくてポニーテールなんたらかんたら
0008デフォルトの名無しさん2008/10/23(木) 16:05:40
                             / ̄ ̄ ヽ,
                           /        ',
                           {0}  /¨`ヽ  {0},
                           l   ヽ._.ノ   ',
                           ノ   `ー'′   ',
                       /´           `\
                     / /ヽ           ノ\ \
                    / /  |         |  \ \
                  n´/     i          i    \`n
                 (ミ ノ      )         (     ヘミ)
                         /  、     ,  \
                       /  /ヽ___ノ \  \
                      /  /          \  ヽ
                      ヽ  )               (  /
                       ヽ l            l /
                       ノ   )             (  \
                     <__/             \__つ
0009デフォルトの名無しさん2008/10/23(木) 16:09:41
なんだよw
0010jeff&Chris2008/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
0011デフォルトの名無しさん2008/10/23(木) 18:46:34
イラネ
0012デフォルトの名無しさん2008/10/23(木) 18:58:17
>>1乙
0013デフォルトの名無しさん2008/10/23(木) 19:08:23
Windowsァオーパイ
0014デフォルトの名無しさん2008/10/23(木) 19:53:44
>>1乙
0015デフォルトの名無しさん2008/10/23(木) 20:57:49
>>2
次からMSDNとMSDN2ライブラリは現行に合わせてこれにしようよ。
http://msdn.microsoft.com/ja-jp/library/
http://msdn.microsoft.com/en-us/library/
0016デフォルトの名無しさん2008/10/23(木) 21:20:40
8のAAはこのスレのマスコットかなにかですか?
0017デフォルトの名無しさん2008/10/23(木) 21:26:43
そうなの?
0018デフォルトの名無しさん2008/10/23(木) 22:04:56
そうです
0019デフォルトの名無しさん2008/10/23(木) 22:32:19
Advanced Windows第5版、日本でも買えるようになったんだね。
未だにどんな本かつかめず、近くの書店にも置いておらず。
どんな本なの?目次とかわかるサイトな〜い?
0020デフォルトの名無しさん2008/10/23(木) 23:16:43
>>10
「目次を見る」
0021デフォルトの名無しさん2008/10/23(木) 23:46:29
oh! センキュー
0022デフォルトの名無しさん2008/10/24(金) 00:15:42
図書館でプログラミングwindows第5版かりたけど、これって2000年初版なんですね。
今と大きく変わっていることはありますか?
0023デフォルトの名無しさん2008/10/24(金) 00:23:21
ある。
0024デフォルトの名無しさん2008/10/24(金) 00:23:57
>>22
それがいまはAdvanced Windowsになり、内容が大きく変わった
図書館にAdvanced Windows5版を入れるなりと言うなり
0025デフォルトの名無しさん2008/10/24(金) 01:18:19
それをごっちゃにしているのはわざとだよね?
0026デフォルトの名無しさん2008/10/24(金) 01:21:38
プログラミングWindowsとAdvanced Windowsはまったく異質の本だよなぁ?
著者も違うし。趣旨も違う。
0027名無し募集中。。。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ム=-ヘ ______人二ノ ̄ ̄ ̄
0028デフォルトの名無しさん2008/10/24(金) 03:03:00
なんか見た事ある
0029デフォルトの名無しさん2008/10/24(金) 03:12:12
どっちも良書だからどっちも読むなり
0030デフォルトの名無しさん2008/10/24(金) 03:13:45
いやなり
0031デフォルトの名無しさん2008/10/24(金) 03:38:17
むしろ読むのはその二冊で良いなり
0032デフォルトの名無しさん2008/10/24(金) 03:40:41
こんな時間に何をやっているのだ・・・。
0033デフォルトの名無しさん2008/10/24(金) 03:51:46
デスマ....
0034デフォルトの名無しさん2008/10/24(金) 04:39:42
おいおい、仕事があるだけマシだと思えよ?
休職中....
0035デフォルトの名無しさん2008/10/24(金) 04:53:13
おじさんたち大変そうだね
勉強中
0036デフォルトの名無しさん2008/10/24(金) 05:43:22
就寝中
0037デフォルトの名無しさん2008/10/24(金) 05:43:52
WindowsAPIの本読んでると「すべてのWindowsプログラマーへ」っていう
副題みたいのがついてるのがあるんだけど、あれはペゾルト氏も含まれるのかね?
0038デフォルトの名無しさん2008/10/24(金) 08:18:11
今時のWindowsプログラマはWinAPIなんて使わないから「すべての」なんて眉唾物だろ
0039デフォルトの名無しさん2008/10/24(金) 08:39:27
今時の人は何を使うなり?
0040デフォルトの名無しさん2008/10/24(金) 08:49:23
WindowsAPI知らないお馬鹿なプログラマーへ
0041デフォルトの名無しさん2008/10/24(金) 09:44:07
.NET Frameworkだって、最終的にはWinAPIを使うなりよ?
0042デフォルトの名無しさん2008/10/24(金) 10:09:20
使わねーよ馬鹿
0043デフォルトの名無しさん2008/10/24(金) 10:11:14
そうなり
とりあえず黙ってプログラミングWindowsとアドバンスを読むなり
0044デフォルトの名無しさん2008/10/24(金) 10:12:37
何だこの和み空間・・・なり
0045デフォルトの名無しさん2008/10/24(金) 10:17:46
柿食えば鐘が鳴るなり
0046デフォルトの名無しさん2008/10/24(金) 11:07:58
.exeと同じフォルダ内のヘルプ.txtを起動させたいんですが
CreateProcessを使えばいいんですか?
0047デフォルトの名無しさん2008/10/24(金) 11:12:22
>>46
いくつか方法はあるだろうけど、その用途には
ShellExecuteExがいいんじゃないかな
0048デフォルトの名無しさん2008/10/24(金) 11:17:49
ヘルプはchmにしとけ
0049デフォルトの名無しさん2008/10/24(金) 11:21:51
.NETってJavaみたいに中間言語にされたあと、仮想マシンで動く
ものなんでしょ?やっぱ遅いのかな。
0050デフォルトの名無しさん2008/10/24(金) 12:06:21
シンプルなコントロールならそんな遅いってほどじゃないよ。
.netが動くようなパソコンならね。

ただ、複雑で便利なコントロールが、実は地獄を見るほど遅かったりする。
0051デフォルトの名無しさん2008/10/24(金) 12:08:38
その複雑で便利なコントロールをWin32APIで実装すると
早いの?
0052デフォルトの名無しさん2008/10/24(金) 12:15:53
>>51
オブジェクト指向とか無視すれば早いよ。
0053デフォルトの名無しさん2008/10/24(金) 12:17:43
仕様も見ずに速いと言い切れるのはすごいな
0054デフォルトの名無しさん2008/10/24(金) 12:42:20
SplitContainerをいくつか置いただけでとんでもなく遅くなった事ならあるなぁ
Buttonを並べまくるとこれまた遅くなったからToolStripで代用したりとか

ウィンドウメッセージのディスパッチが遅いのかな
確かATLみたいに内部でthunk使ってるはずなんだが
0055デフォルトの名無しさん2008/10/24(金) 12:57:45
>>46 です。
>>47
ありがとうございました。
>>48
調べてみます、ありがとうございました。
0056デフォルトの名無しさん2008/10/24(金) 13:25:26
じゃあやっぱり玄人はWin32APIってわけですね
0057デフォルトの名無しさん2008/10/24(金) 14:08:55
俺も自作アプリではShellExecute使ってるな
txtだろうがhtmlだろうが開いてくれる
0058デフォルトの名無しさん2008/10/24(金) 17:43:17
昔のVCのヘルプファイルで関数一覧がツリー表示じゃなくて2列で表示されて見易いのがあったんだけど
どのバージョンかご存じないですか?
Win16との違いが結構書いてあったのでWin32への移行してる時期のものだと思うんですが。
0059デフォルトの名無しさん2008/10/24(金) 17:45:39
>>58
VS4.0じゃね?
0060デフォルトの名無しさん2008/10/24(金) 23:22:51
ウィンドウハンドルから、コントロールの種類を取得する方法ってありますか?

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

みたいなことをしたいと思っています。
0061デフォルトの名無しさん2008/10/24(金) 23:23:37
http://amamaman.hp.infoseek.co.jp/

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

開発環境はVisual C++ 2005 Express Editionです。
0062デフォルトの名無しさん2008/10/24(金) 23:26:12
>>60
GetClassNameでも使え
0063デフォルトの名無しさん2008/10/24(金) 23:27:37
>>61
スレチガイ
0064デフォルトの名無しさん2008/10/24(金) 23:30:54
>>61
とりあえずキャプチャプログラム書けるようになってから出直して来い
0065デフォルトの名無しさん2008/10/25(土) 01:20:22
>>60
自プロセス内のコントロールなら、各コントロールをサブクラス化した方がいいかと。
0066デフォルトの名無しさん2008/10/25(土) 02:17:19
>>49
いや、実行時にメソッド単位でコンパイルされて、
CPUネイティブで動作する。
0067デフォルトの名無しさん2008/10/25(土) 06:32:27
今時Javaもそれくらいやるだろ。
0068デフォルトの名無しさん2008/10/25(土) 06:33:02
データベース使いたいんだけど、MS SQL ServerをWin32APIプログラムから
操作するには、どのAPI使えばいいの?
0069デフォルトの名無しさん2008/10/25(土) 08:57:14
>>67
やったらJava仮想マシンじゃなくなるだろ馬鹿
0070デフォルトの名無しさん2008/10/25(土) 09:33:07
>>69
馬鹿はお前
0071デフォルトの名無しさん2008/10/25(土) 10:05:16
>>70
確かに
0072デフォルトの名無しさん2008/10/25(土) 10:25:13
>>70-71
知らないならレスしないでください
0073デフォルトの名無しさん2008/10/25(土) 11:06:55
>>68
MySQLサーバとはネットワークで通信する
そのための手段はいくつもある
WindowsのAPIで、というならODBCもその中の1つ
0074デフォルトの名無しさん2008/10/25(土) 11:08:23
JITのことですよね
0075デフォルトの名無しさん2008/10/25(土) 11:20:30
>>68
http://dev.mysql.com/doc/refman/5.1/ja/connectors.html
0076デフォルトの名無しさん2008/10/25(土) 11:25:38
WinAPIでWebサービスお手軽実装マダー?
0077デフォルトの名無しさん2008/10/25(土) 11:26:21
欠陥品のWinInetでも使ってくだしあ
0078682008/10/25(土) 14:28:16
レスとんくす。
別にネットワークじゃなくても良いのだが、ローカルにデータベース
作って、それを利用するプログラムを作りたい。
けっこう大変なの?お手軽にできないなら、ちょっと考え直そう。
0079デフォルトの名無しさん2008/10/25(土) 14:30:13
ローカルで使うにしてもサーバプログラムが稼動している必要がある
インストールも使うのもそんな面倒じゃないけど
手軽に、というのならSQLiteでも使えばいいとおもうよ
0080682008/10/25(土) 15:53:48
�d
それほど面倒でないなら、後学のためにも一般的なMSのSQLSを
やってみよう。
2005ならSQLS Express Editionあるし。
0081デフォルトの名無しさん2008/10/25(土) 15:55:19
VISTAで、プログラム自体は一般権限で起動するが、
プログラム中のある機能だけ管理者権限を必要とさせたいのですが。
イメージとしては、あるボタンを押したときだけ管理者権限昇格のダイアログ出す
みたいなものです。
これって可能でしょうか。
0082デフォルトの名無しさん2008/10/25(土) 16:06:43
昇格はプロセス単位で管理される
だから、その機能部分だけを別のプロセスにして、そいつを昇格して起動させる必要がある

Advanced Windowsの5版に書いてあっただろうが! といってみる
0083デフォルトの名無しさん2008/10/25(土) 16:14:40
COMにして呼ぶ方法が一応はある
0084デフォルトの名無しさん2008/10/25(土) 17:21:16
SQL Server を「SQLS」って略す奴を初めて見た・・・
0085デフォルトの名無しさん2008/10/25(土) 17:29:05
すきゅるず
0086デフォルトの名無しさん2008/10/25(土) 17:33:37
「きゅ」じゃなくて「く」で頼む
0087デフォルトの名無しさん2008/10/25(土) 17:43:37
スクルト!
0088デフォルトの名無しさん2008/10/25(土) 17:46:03
スカルズならいいのに
0089デフォルトの名無しさん2008/10/25(土) 18:07:04
スクールズ
0090デフォルトの名無しさん2008/10/25(土) 19:23:02
>>84
MPLSを連想した俺はラノベ板住人
0091デフォルトの名無しさん2008/10/25(土) 20:19:32
TCHARのconst版なんてないですよね。
const TCHARとするしか。
0092デフォルトの名無しさん2008/10/25(土) 20:35:29
TSTRならともかくTCHARのconst版なんかあってなんか嬉しいか?
0093デフォルトの名無しさん2008/10/25(土) 20:35:33
必要なら const 書く方が普通だろ
そんなところで手を省こうとするのが間違ってる
0094デフォルトの名無しさん2008/10/25(土) 20:36:04
×手を省こうと
○手間を省こうと
0095デフォルトの名無しさん2008/10/25(土) 20:38:58
よく
TCHAR hoge[] = TEXT("hogehoge");
というようなコードがありますが、これってだいたいの場合固定で使うので
正確には
const TCHAR hoge[] = TEXT("hogehoge");
とすべきでは?と思ったもので。
0096デフォルトの名無しさん2008/10/25(土) 20:45:57
固定で使わないから定数を表すconstがついていないんだろ。
0097デフォルトの名無しさん2008/10/25(土) 20:50:26
ペゾルドは、const付けてないね。アプリネームとかも。
0098デフォルトの名無しさん2008/10/25(土) 20:59:37
constなTCHAR配列わざわざ作るぐらいならPCTSTR使わね?
0099デフォルトの名無しさん2008/10/25(土) 21:10:28
やっぱ好みかなぁ。
PCSTRとかだとポインタなのに*使わずに宣言するのが違和感あるとかw
0100デフォルトの名無しさん2008/10/25(土) 21:39:45
ARRAYSIZE(hoge) - 1で文字列の長さを求められる(もちろんマクロ化)から、
俺は95みたいにconst配列が好み。
0101デフォルトの名無しさん2008/10/26(日) 02:43:36
流れぶったぎってスマソ

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

keybd_eventとかSendInputで「PrintScreen」を押した事にすれば可能っぽいんですが、
他の方法で出来ないものかなぁと…
0102デフォルトの名無しさん2008/10/26(日) 03:02:48
もちろんBitBltにはCAPTUREBLTを指定しているよな。
01031012008/10/26(日) 05:17:11
>>102

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

MSDNを参照する、という基本的な事を欠いてしまっていたのは反省すべき所でした。
0104デフォルトの名無しさん2008/10/26(日) 05:28:50
ROPじゃなくてフラグだろ
0105デフォルトの名無しさん2008/10/26(日) 12:39:20
>>104

引数にラスターオペレーションコードって書いてあったのでそのまま書いてしまいました。
失礼しました。
0106デフォルトの名無しさん2008/10/26(日) 16:58:38
そういやマウスカーソルも含めてキャプチャできるソフトがあるけど、
あれってもしかしてキャプチャした画像の上にGetCursorInfo→DrawIconExで描いてるだけ?
0107デフォルトの名無しさん2008/10/26(日) 17:07:55
>>106
うん
0108デフォルトの名無しさん2008/10/26(日) 17:36:54
>>106
DIB取得して合成

>>107
バーカ
0109デフォルトの名無しさん2008/10/26(日) 17:42:57
「DIB取得して合成」という何か革新的に方法があるらしいね。
0110デフォルトの名無しさん2008/10/26(日) 17:51:29
ワロタ
0111デフォルトの名無しさん2008/10/26(日) 18:25:33
なんでMSDNのWin32APIリファレンスって英語やねん。
本買うしかないのか!
0112デフォルトの名無しさん2008/10/26(日) 18:28:52
英語の参考書は必須だよな
0113デフォルトの名無しさん2008/10/26(日) 18:51:04
>>109
バーカ
0114デフォルトの名無しさん2008/10/26(日) 19:13:23
ttp://www.woodybells.com/delphi_tips/index.cgi?mode=view&no=5
0115デフォルトの名無しさん2008/10/26(日) 19:25:06
#define HIWORD(l) ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))
これってなんで0xffffでマスクする必要あるの?

#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
でよくね?意図がわからん。
0116デフォルトの名無しさん2008/10/26(日) 19:47:55
>>115
そんなどうでもいい事をわざわざ質問するお前の意図がわからん。
0117デフォルトの名無しさん2008/10/26(日) 19:53:54
知らないならレスしないでください
0118デフォルトの名無しさん2008/10/26(日) 19:55:56
知らないならレスしないでください
01191152008/10/26(日) 19:57:11
>>116
興味本位だよ、技術的な。俺の考えに間違いがあるのかもしれないし。
0120デフォルトの名無しさん2008/10/26(日) 19:57:42
WORD型が16ビットで無くなっても大丈夫。
0121デフォルトの名無しさん2008/10/26(日) 19:59:48
>>119
そんなのコンパイラの最適化でどうとでもなるだろ
cl /FAcs でコンパイルしてアセンブリソースでも眺めとけ
01221152008/10/26(日) 20:04:38
>>121
どうとでもなるというか、別に何かをしたいわけじゃなくて
興味本位で聞いてただけなんだ。

つまり>>120ぐっじょぶ
0123デフォルトの名無しさん2008/10/26(日) 20:06:13
WORDが16ビットで無くなるなんて有り得ないだろ・・・
0124デフォルトの名無しさん2008/10/26(日) 20:08:53
2bytesであっても16bitsであるかは不定じゃないの
0125デフォルトの名無しさん2008/10/26(日) 20:10:30
でも、それ以外にわざわざマスクする理由もなさそうだな。
意図としてはそういうことなんだろう。
安全策だな。
WORDを再定義するやからがいるかも知れないし。
0126デフォルトの名無しさん2008/10/26(日) 20:20:59
DWORD_PTRが32ビットより大きいときにまずいだろ。
0x123456780000 >> 16 → 0x12345678

昔はDWORD_PTRではなくDWORDだったと思うが、
それなら確かに0xffffでのマスクは不要ではある。
0127デフォルトの名無しさん2008/10/26(日) 20:23:46
DWORD_PTRが32ビット越えしてても、WORDが16ビットなら無問題だから
やっぱWORDのサイズがポイントやろ。
0128デフォルトの名無しさん2008/10/26(日) 20:37:47
>>126
バーカ
0129デフォルトの名無しさん2008/10/26(日) 21:05:21
>>115
http://msdn.microsoft.com/ja-jp/library/8wtf2dfz.aspx
無いとVC++のチェックに引っ掛かるからでは?
0130デフォルトの名無しさん2008/10/26(日) 21:19:25
>>129
それって、単に上位ビットがすべて0だろうとそうでなかろうと
切り捨てられるときの話じゃないの?マスクする・しないの問題じゃ
ないと思うが。
0131デフォルトの名無しさん2008/10/26(日) 21:21:43
↑話を理解してない馬鹿
0132 ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄2008/10/26(日) 21:42:18
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ ・・・
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
0133612008/10/26(日) 22:22:00
>>64
自分で作ったプログラムがOpenGLでレンダリングした画像を保存するのは出来ます。
でも人が作ったプログラムでやるにはどうすれば?
0134デフォルトの名無しさん2008/10/26(日) 22:27:30
キャプチャ Win32
あたりで検索すれば色々でてくんだろ
0135デフォルトの名無しさん2008/10/26(日) 22:50:51
バーカ をNGにするだけでも結構快適になるものだな。
0136デフォルトの名無しさん2008/10/26(日) 22:53:28
バーカ
0137デフォルトの名無しさん2008/10/26(日) 22:55:38
>>135
自分のレスも見えなくなってる馬鹿
0138デフォルトの名無しさん2008/10/26(日) 23:21:41
このスレには、人を安易に馬鹿呼ばわりする奴が後を絶たないな。
プログラマの人格が疑われるぜ。
0139デフォルトの名無しさん2008/10/26(日) 23:22:56
>>138
ヽ(`Д´)ノバーヤ
0140デフォルトの名無しさん2008/10/26(日) 23:26:55
俺はプログラムを組めるんだ!それも硬派なWin32だ!
という感じで、えらそうに街中歩いていそうだなw
あ〜やだやだ。
0141デフォルトの名無しさん2008/10/26(日) 23:42:14
高校生?
0142デフォルトの名無しさん2008/10/27(月) 00:11:03
やーーーい、バカ、おまえ、バカだ、馬鹿だ
馬鹿じゃなければ底辺産業のドカタやってられんよなー、同職ドカタ諸氏だろ
0143デフォルトの名無しさん2008/10/27(月) 01:31:10
>>133
自分のとこのならどこがキモになっててどう保存してんだか分かるだろ。
あとはどれを他のウィンドウから貰ってくれば同じことが出来るかだけやん。
0144デフォルトの名無しさん2008/10/27(月) 04:41:33
IT産業のドカタ、プログラマーw
0145デフォルトの名無しさん2008/10/27(月) 05:25:49
IT産業のドカタ、プログラマーw
0146デフォルトの名無しさん2008/10/27(月) 08:48:58
>>144 >>145
まぁアセンブラ組みに殺されろ
0147デフォルトの名無しさん2008/10/27(月) 09:02:49
アセンブラ組に入るんだ
アセンブラ組はやわじゃねえ
0148デフォルトの名無しさん2008/10/27(月) 22:46:36
_WIN32_IEや
WINVER
_WIN32_WINNT
といったWindowsやIEのバージョンを表すマクロは、
Win32APIでプログラムする場合、自分で定義するものなのですか

てっきりVC++が開発環境のバージョンをデフォルトで設定してくれると思い込んでました
0149デフォルトの名無しさん2008/10/27(月) 23:18:31
入れるべきは開発環境のバージョンではなく、
「動作させたいターゲット環境」のバージョンだから。
01501482008/10/27(月) 23:21:14
そうですね
その通りなんですが、
開発環境のパラメータをデフォルトで設定してくれてもいいんじゃね?
プロジェクト設定でGUIでできてもいいんじゃね?

と甘えたくなっただけですごめんなさい
0151デフォルトの名無しさん2008/10/27(月) 23:43:40
http://d.hatena.ne.jp/firewood/20080304/1204560137
ココ見ると、デフォルトの設定があるようだけど?
01521482008/10/28(火) 00:05:42
WINVERには確実に数値が入ってそうですね

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

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

>>149
>>151
ありがとうございました
0153デフォルトの名無しさん2008/10/28(火) 01:56:16
プロポーショナルフォントの場合、文字の横幅はバラバラなんですよね?
で、TEXTMETRIC構造体のtmAveCharWidthというメンバで文字横幅の平均値は
得られるようですが、この横幅を基準に文字列がどのくらいのフィールドを
必要とするかを考えても、文字の組み合わせによっては、想定したフィールドの
横幅からはみ出すこともあるってことで、OK?
対処法は余裕をもって場所確保しておけってことなのかな。
0154デフォルトの名無しさん2008/10/28(火) 02:01:52
それでいいと思われ
万全を期すならGetTextExtentPoint32使った方がいいんだろうけど
0155デフォルトの名無しさん2008/10/28(火) 02:06:36
レスどうもです。
GetTextExtentPoint32というのは、文字列ごとに計算するって奴ですよね。
0156デフォルトの名無しさん2008/10/28(火) 02:51:07
最大字数が決まってて、どんな組合せでもはみ出さないようにしたい
という用途みたいだから、tmMaxCharWidth*nでないの
0157デフォルトの名無しさん2008/10/28(火) 03:42:24
たしかにそのやり方がよさげですね。
大文字の場合も考慮に入れてくれるんですよね、その関数。
0158デフォルトの名無しさん2008/10/28(火) 07:23:44
.exeと同じフォルダに○○.chmがあれば
ShellExecute(hwnd,"open","○○.chm",NULL,NULL,SW_SHOWNORMAL);
って書けばふつーにchmが開くんですか?
0159デフォルトの名無しさん2008/10/28(火) 07:36:28
>>158
やってみれば?
01601582008/10/28(火) 08:32:13
嫌です
0161デフォルトの名無しさん2008/10/28(火) 09:05:07
いやーん
0162デフォルトの名無しさん2008/10/28(火) 09:16:37
>>159
できました、どっかでID、ヘッダーファイルがどうこうと見たので
たんに開くだけの場合も何か必要と思い込んでました…
0163デフォルトの名無しさん2008/10/28(火) 09:51:10
パス省略できるのはカレントディレクトリだから
0164デフォルトの名無しさん2008/10/28(火) 10:32:37
「カレントディレクトリ」≠「exeのあるディレクトリ」の時に正常動作しない糞アプリの完成ですね
0165デフォルトの名無しさん2008/10/28(火) 14:15:49
GetObject( hbmp, sizeof( BITMAP ), &bmp );
とした時の BITMAP::bmBits は解放する必要ないのでしょうか?
0166デフォルトの名無しさん2008/10/28(火) 14:27:05
LocalFreeで開放しろと書いてあるだろ
01671652008/10/28(火) 14:40:05
>>166
http://msdn.microsoft.com/ja-jp/library/cc410355.aspx を見ただけでは
その記述を見つけることはできませんでした。
ありがとうございました。
0168デフォルトの名無しさん2008/10/28(火) 14:51:21
いや、DIBSECTION以外はNULLのままじゃないか?
0169デフォルトの名無しさん2008/10/28(火) 14:55:22
CreateDIBSectionのppvBitsに入るのと同じアドレス値でしょ
0170デフォルトの名無しさん2008/10/28(火) 15:02:51
>>167のリンク先なんだけど

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

何これ
0171デフォルトの名無しさん2008/10/28(火) 15:05:38
>>170
8ビット以下のbmpはパレット付き
0172デフォルトの名無しさん2008/10/28(火) 15:09:15
>>171
いやそうじゃなくて、機械翻訳がおかしいと言いたいのだが・・・
01731652008/10/28(火) 15:15:15
>>166
LocalFree() するとアクセス違反が起こりました
問題なく処理は進んでいますが、
念のためコメントアウトしておきます

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

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

>>170
日本語版ヘルプはそういうのが多いですね
特にWin32APIで
0174デフォルトの名無しさん2008/10/28(火) 15:17:04
>>173
自分で作ったバッファのアドレスが入ってるだろうってことじゃないか?
01751652008/10/28(火) 15:20:01
>>174
自分でバッファを作ったわけではなく、
CreateDIBSection() の引数で void** を渡し、
そこにアドレスが入っています。
なのでシステムが用意したバッファだと思っているのですが・・・
0176デフォルトの名無しさん2008/10/28(火) 15:21:29
自分で(CreateDIBSectionで)作ったバッファの(中のどこかの)アドレスが入ってるだろうってことじゃないか?
0177デフォルトの名無しさん2008/10/28(火) 15:25:32
だからCreateDIBSectionで作ったやつはGetObjectに関係なくDeleteObjectすればいい
01781652008/10/28(火) 15:27:37
>>176
すみません読み違えていました

>>177
つまり DeleteObject() さえしていれば
解放の必要はないということですね?
ありがとうございました。
0179デフォルトの名無しさん2008/10/28(火) 15:28:24
>>168-169が正解
>>166は大嘘
0180デフォルトの名無しさん2008/10/28(火) 17:43:45
タスクマネージャで見てハンドル値とかが増加していかなければおk
0181デフォルトの名無しさん2008/10/28(火) 19:11:35
おれつえええええええええええええええ
0182デフォルトの名無しさん2008/10/28(火) 23:47:58
タスクトレイに常駐して、任意のキーが押されたらある処理をするアプリを作ろうと思ってます

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

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

以外の方法が思いつかないんですが、他にやり方はありますか?
0183デフォルトの名無しさん2008/10/28(火) 23:59:36
>>182
ホットキー
01841822008/10/29(水) 00:08:47
>>183
おぉぉぉぉ
正にこの機能が欲しかったです

RegisterHotKey()
で頑張ります
0185デフォルトの名無しさん2008/10/29(水) 00:11:24
がんばらなくてもいいじゃないか、にんげんだもの
0186デフォルトの名無しさん2008/10/29(水) 00:45:37
Win32APIを勉強し始めて、今スクロールバーの処理について学んだんですが
けっこうスクロールバー1つ付けるにしても、メッセージを処理しなくちゃ
いけないんだなぁなんて思ってるところでありまして、これがC#などの
いわゆる高級言語だと、どれくらい楽に実装できちゃうんでしょうか。
あまり変わらないのでしょうか。
0187デフォルトの名無しさん2008/10/29(水) 00:53:29
今は言語何使ってんだよ
0188デフォルトの名無しさん2008/10/29(水) 01:03:02
C/C++です
0189デフォルトの名無しさん2008/10/29(水) 06:15:49
pythonです
0190デフォルトの名無しさん2008/10/29(水) 06:45:25
無料で使える Express 版があるんだから、ちょっと試してみればいいじゃん。
0191デフォルトの名無しさん2008/10/29(水) 08:31:05
>>186
C#は何も知らなくても基本的なGUIアプリ作れるくらいにラク
0192デフォルトの名無しさん2008/10/29(水) 09:00:29
>>186
C#だと、プロジェクトを作っただけで、既にウインドウが1つ作られてて、
それだけで既に一通り動作する。
そして、デザイン画面でボタンをD&Dで貼り付けてダブルクリックするだけで、
ボタンクリック時のメッセージハンドラが作られる。
0193デフォルトの名無しさん2008/10/29(水) 09:01:34
これはC++でMFCの場合も同じだが。
0194デフォルトの名無しさん2008/10/29(水) 09:26:22
労力は半分以下
0195デフォルトの名無しさん2008/10/29(水) 09:41:45
スクロールバーで何やってるのかわからんけど
一般的な動作以外をやらせてるなら手間はあまり変わらんぞ、そこの部分だけは。
0196デフォルトの名無しさん2008/10/29(水) 10:06:11
64ビット版WindowsではWin64APIってのを使うのかい?
他の呼び方があるの?
0197デフォルトの名無しさん2008/10/29(水) 10:10:34
APIはWIN32APIのままだよ
0198デフォルトの名無しさん2008/10/29(水) 11:02:45
>>192
C#はって言うより十数年前のVBで既にそうだった訳だが
0199デフォルトの名無しさん2008/10/29(水) 16:25:12
IntelliPointでブラウザなんかをホイールクリックすると任意方向へスクロールさせることができるけど
あれを自前のアプリへで対応させるのってどうやるの?
どっかにドキュメントがあったら教えてください。
0200デフォルトの名無しさん2008/10/29(水) 16:49:45
DoReaderMode
02011862008/10/29(水) 18:06:15
レスどうもです。
MFCなんかでは、ウィザードである程度コードの骨格を作ってくれるというのは
知っていたので、C#も同じような感じですか。
ただ、それならWin32APIでも、一度自分でひな形を作れば、それほど手間は
変わらないのかなと。それよりも、スクロールに付随する複雑な描画の部分を
魔法のように解決してくれるってことはないんですね。
そういう意味ではあまり変わらないのかなぁという印象です。
0202デフォルトの名無しさん2008/10/29(水) 18:10:02
いや、状況にもよるが例えば画像のスクロールに対応済みのコントロールはあるから
それ貼るだけでいい、というのはあるよ。
0203デフォルトの名無しさん2008/10/29(水) 20:48:29
スクロールバーってそんなに面倒かな
コモンコントロールの方がよっぽど面倒なのたくさんあるぞ
0204デフォルトの名無しさん2008/10/29(水) 22:09:40
64ビット版のプログラムって何が違うの?
long型が64ビットとかになるのかな。
32ビット版プログラムも動くの?
Win32APIの知識でそのまま移行できるのかい?
0205デフォルトの名無しさん2008/10/29(水) 22:12:50
その質問からして32ビットプログラムの何が32ビットなのかも分かってないだろ
0206デフォルトの名無しさん2008/10/29(水) 22:14:03
LLP64
0207デフォルトの名無しさん2008/10/29(水) 22:23:05
>>205
自慢じゃありませんが、よくわかっていません。
CPUが一度に処理できるデータのサイズが32ビットである
アーキテクチャ用のプログラムが32ビットプログラムと
違うの?
0208デフォルトの名無しさん2008/10/29(水) 22:23:14
Win32APIを最低限理解していれば64ビットへの移行の際に問題は一切発生しません
0209デフォルトの名無しさん2008/10/29(水) 22:25:22
>>205
で、正解は?
0210デフォルトの名無しさん2008/10/29(水) 22:54:32
>>209
プログラムが32ビットにきまってるだろう
0211デフォルトの名無しさん2008/10/29(水) 22:55:06
いや、つまんないから
0212デフォルトの名無しさん2008/10/29(水) 23:17:09
けっきょくみんな半信半疑なんだろ
64ビットプログラムって奴がさ
0213デフォルトの名無しさん2008/10/29(水) 23:49:29
>204
「long型が64ビットとかになるのかな。」って、
32ビット版のプログラムは、long型は何ビットなんだ?
0214デフォルトの名無しさん2008/10/29(水) 23:53:56
32ビットやろう、intと同じで。
0215デフォルトの名無しさん2008/10/30(木) 00:25:26
>>202
>画像のスクロールに対応済みのコントロール
どれ?
0216デフォルトの名無しさん2008/10/30(木) 01:00:05
それ
0217デフォルトの名無しさん2008/10/30(木) 01:04:21
なるほど
0218デフォルトの名無しさん2008/10/30(木) 01:20:14
LLP64は long long とポインタが64bitだから
int とlongは32bitのまま
0219デフォルトの名無しさん2008/10/30(木) 01:48:56
他のウィンドウに隠れたウィンドウをキャプチャすることはできる?
もしくは画面外のウィンドウをキャプチャすることはできる?

だいぶ調べたけど一番上のウィンドウ(もしくはデスクトップ全体)かつ
デスクトップ画面内しか無理という結論に達しつつあるんだけど・・
0220デフォルトの名無しさん2008/10/30(木) 01:50:07
無理
0221デフォルトの名無しさん2008/10/30(木) 02:00:57
で、ぼちぼち64ビットプログラムのイメージを抱かせてくれないか…
たとえばwPramとかlParamが64ビットになるのか?
それともlong longをふんだんに使えばいいのか?
0222デフォルトの名無しさん2008/10/30(木) 02:07:02
64bitになるのは、ポインタだけだよ。
0223デフォルトの名無しさん2008/10/30(木) 02:09:43
アドレスが64ビットになるということはwParam, lParamも64ビットになるということなのかという話ですよね。
0224デフォルトの名無しさん2008/10/30(木) 02:14:45
wParamやlParamがポインタのtypedefだったら64bitになるけど、そうじゃないよね?
ちなみに、Windowsのカーネルも32bitと64bitでソースコードベースは統一されている。
0225デフォルトの名無しさん2008/10/30(木) 02:17:26
あと、ポインタのtypedefである(#defineだっけ?)ハンドル型も64bitになるね。
0226デフォルトの名無しさん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ビットだ〜みたいなことしてなければ「多分」従来どおりでいい。
02272242008/10/30(木) 02:23:06
すまん、思いっきり勘違いしていた。
wParam,lParam両方とも64bitになるな。
0228デフォルトの名無しさん2008/10/30(木) 02:25:14
typedef UINT_PTR WPARAM
typedef LONG_PTR LPARAM

だね。ポインタだから64bit
02292262008/10/30(木) 02:28:07
すんません。>>228のとおり。
WPARAMも64ビットになるね。windef.hを急いで確認したよ。
0230デフォルトの名無しさん2008/10/30(木) 02:43:10
HOGE_PTRを見るとPHOGEみたいな感覚になるから嫌い
0231デフォルトの名無しさん2008/10/30(木) 02:45:06
>>219
PrintWindow()
0232デフォルトの名無しさん2008/10/30(木) 02:54:57
↑デタラメ言うな
0233デフォルトの名無しさん2008/10/30(木) 02:59:52
とにかく普段から抽象データ型を使うように努めればいいわけか。
0234デフォルトの名無しさん2008/10/30(木) 03:03:31
Windwos7なんてものが遠くない内に出るようだが、
新しいOSを機にぼちぼち64ビットWindowsに乗り換えるべきだろうか。
0235デフォルトの名無しさん2008/10/30(木) 03:15:00
>>219
他人のウィンドウが自分のウィンドウエリアに描画するから無理だよ。
Vistaならできるかも。
0236デフォルトの名無しさん2008/10/30(木) 03:23:17
>>232
いやXP以降だけどPrintWindow()でいいだろ。

2000なら対象ウィンドウを一旦レイヤードウィンドウにするとかいう強引な手もあるが。
0237名無し募集中。。。2008/10/30(木) 03:23:24
>>215
CStatic
0238デフォルトの名無しさん2008/10/30(木) 09:09:41
>>236
デタラメ言うな
0239デフォルトの名無しさん2008/10/30(木) 09:48:05
このでたらめ言うやつは何なの?
自分が間違ってたことを認めないためには質問者に嘘教えるのも厭わないのか。
0240デフォルトの名無しさん2008/10/30(木) 09:48:41
>>238のことね、もちろん
0241デフォルトの名無しさん2008/10/30(木) 09:48:53
印刷したいんですが。
DCに書けばいいのか?
0242デフォルトの名無しさん2008/10/30(木) 09:55:20
もちろんDCに書くけど、準備がいろいろあるから
まずはサンプルコードをコピーしてくるところから
始めた方がいいよ。
0243デフォルトの名無しさん2008/10/30(木) 10:58:48
64ビットでもSysListView"32"なんだろ?
意味わかんねぇ
MSの中の人、頭おかしいんじゃないの
0244デフォルトの名無しさん2008/10/30(木) 11:05:17
>>243
64ビットでも kernel32.dll だし、システムフォルダは c:\windows\system32 だよ。
逆に、64ビット環境での 32 ビット用が WOW64。

最初は戸惑うよね。
0245デフォルトの名無しさん2008/10/30(木) 11:15:48
過去のしがらみのないOSがいいならGNU Hurdでも使っておけと。
0246デフォルトの名無しさん2008/10/30(木) 12:41:48
>>244
こういうのってやっぱシステムフォルダ = "c:\windows\system32"って
ハードコードしてる糞アプリの為の互換性なんだろうな

シェアが高すぎるOSってのも大変だなぁ・・・
0247デフォルトの名無しさん2008/10/30(木) 13:13:11
PostMessageとSendMessageの違いですが
ぶっちゃけメッセージループのためのメッセージキューに送られるのがPostで
直接WindowProcに送られるのがSendってことでOKですか?
0248デフォルトの名無しさん2008/10/30(木) 13:52:23
おk
0249デフォルトの名無しさん2008/10/30(木) 13:54:01
どっちもキューに入るけどな。
WindowProcの戻り値がわかるのがSendで、わからないのがPost
もちろん、SendはWindowProcが終わるまでリターンしない。
0250デフォルトの名無しさん2008/10/30(木) 14:14:56
>>231
すげえ、できた!
まじありがとう

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

WM_PAINTですら描画しないと消えるのに
WM_PRINTなんかでなんの処理もしてないのに描画されるはずがないと思う。
もちろんWM_PAINTをWindowsまかせにしてるアプリならWM_PRINTにも対応してるだろうけど。
0252デフォルトの名無しさん2008/10/30(木) 14:42:55
逆だろ。
WM_PRINTをWindows任せにしてるとWM_PAINTと同じ内容になる。
0253デフォルトの名無しさん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() 最強。
0254デフォルトの名無しさん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型の違いは、一応ぐぐって調べたんですけど、
上記の場合、何をいれたらいいのかわかりません・・・。
0255デフォルトの名無しさん2008/10/30(木) 15:35:19
sizeof tszBuff / sizeof(TCHAR)
0256デフォルトの名無しさん2008/10/30(木) 15:42:48
hMutex = CreateMutex(NULL,TRUE,"ファイル名");
if (GetLastError() == ERROR_ALREADY_EXISTS){
ReleaseMutex(hMutex);
CloseHandle(hMutex);
return FALSE;

こうすると「ファイル」の2重起動は防げるんですが
「ファイル」を閉じてもう一度開こうとすると開きません。
何が考えられますか?
02572542008/10/30(木) 15:45:47
>>255
おぉ!
ありがとうございます。
0258デフォルトの名無しさん2008/10/30(木) 15:51:49
>>256
ファイルを閉じるときにミューテックス閉じてないとかいうオチくらいしか思い浮かばないけどな
0259デフォルトの名無しさん2008/10/30(木) 15:53:56
>>258
コレ(>>256)と同じ書き方でソフトそのものの2重起動は防げたので
使えると思ったんですが…
0260デフォルトの名無しさん2008/10/30(木) 15:56:27
>>259
いやだからさ、ERROR_ALREADY_EXISTSじゃなかったときはMutexそのままでファイルを開くんだよね?
そのファイルを閉じたときにはちゃんとCloseHandle()してるの?
0261デフォルトの名無しさん2008/10/30(木) 16:02:12
>>260
そんな事は分かっています
0262デフォルトの名無しさん2008/10/30(木) 16:03:45
理解していることと行動に移すことは別の話
0263デフォルトの名無しさん2008/10/30(木) 16:04:49
ソフトそのものの2重起動とやらは明示的にCloseHandleしなくてもいいからなw
0264デフォルトの名無しさん2008/10/30(木) 16:06:08
ファイルをミューテックスオブジェクトで縛らなくても、
CreateFileの引数のdwShareModeに0いれときゃ良さそうなもんだが・・・
0265デフォルトの名無しさん2008/10/30(木) 16:08:56
てかMutexって名前に \ が含まれてると意味合いが変わるから
ファイル名をそのまま使えるものなの?
0266デフォルトの名無しさん2008/10/30(木) 16:16:36
>>260、>>263、>>264
分かりました。ありがとうございました。
0267デフォルトの名無しさん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で別のウィンドウに隠れてるときと画面外の状態で確認
0268デフォルトの名無しさん2008/10/30(木) 16:40:16
>>267
できて当然

WM_PRINTとPrintWindowは別物
PrintWindowはWM_PRINTを発行するだけのAPIではないということ
>>251が勘違いしてるだけ。
0269デフォルトの名無しさん2008/10/30(木) 18:05:10
>>228
いまさらだけど、ポインタじゃないぞ、整数型だ。
たしかにWin64では64ビットになる型だが。
0270デフォルトの名無しさん2008/10/30(木) 18:21:08
Ribbonコントロールはどうやって作るんですか?
0271デフォルトの名無しさん2008/10/30(木) 18:22:33
こうやって作る

(略)
0272デフォルトの名無しさん2008/10/30(木) 18:38:43
>>270
このスレ的には、Windows 7を待て。
Scenic Ribbonコントロールというのが追加される。
http://blogs.msdn.com/hiroyuk/archive/2008/10/30/9023528.aspx
0273デフォルトの名無しさん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
0274デフォルトの名無しさん2008/10/30(木) 18:40:19
http://qb5.2ch.net/test/read.cgi/operate/1206636885/657
強制ID実装を駄目元で頼み込んでみた。
もし賛同してくれる人がいたら同意のレスつけてください。
0275デフォルトの名無しさん2008/10/30(木) 18:45:51
OSに標準で入ったらMFCも
CMFCRibbonBar が CRibbonBar になったりすんのかな
0276デフォルトの名無しさん2008/10/30(木) 18:52:46
標準で入ったらwrapperクラスが追加されるだけだろ
0277デフォルトの名無しさん2008/10/30(木) 19:34:41
>>274
そんなのは過去に何度も頼み込んでもダメだったので、レスするだけ無駄だ。
この板が使い物にならないくらいスクリプト荒らしをすれば導入してくれるらしいので、
そっちの方向で頑張ってくれ。
0278デフォルトの名無しさん2008/10/30(木) 19:43:00
ぶっちゃけID無くても捨て鳥使えば良いわけで
0279デフォルトの名無しさん2008/10/30(木) 20:05:57
悔しかったら2ch鯖クラックして設定書き換えて見ろよ m9(^Д^)

ってスタンスなんだろうなあ。
0280デフォルトの名無しさん2008/10/31(金) 05:39:47
鳥付けても自演は防げないじゃん
節穴かIDじゃないと駄目だろ
02812802008/10/31(金) 08:07:04
やっぱり鳥だけでいいな
少なくともこの板では
02822802008/10/31(金) 08:26:38
あーなんか面倒くさいし全部なしでいいや
0283デフォルトの名無しさん2008/10/31(金) 08:43:00
他所でやれ
0284デフォルトの名無しさん2008/10/31(金) 11:51:21
>>278
頭悪
0285デフォルトの名無しさん2008/10/31(金) 11:55:45
ID変えればいくらでも自演できる
むしろ強制IDの方が複数回線使った荒らしの温床になる
0286デフォルトの名無しさん2008/10/31(金) 11:56:52
自演はできても騙りはできなくなるだろ。
0287デフォルトの名無しさん2008/10/31(金) 11:58:07
昼休み
0288デフォルトの名無しさん2008/10/31(金) 11:59:18
自演は可能だろうけどこのスレで問題なのって自演じゃねーじゃん
騙りじゃん
0289デフォルトの名無しさん2008/10/31(金) 12:02:09
日付変わるとID変わるのでそのタイミングで騙りもできる
そもそも騙りができなくなったとしても荒らしは減らない
0290デフォルトの名無しさん2008/10/31(金) 12:16:21
>>284-289
>>283

プログラム板自治スレッド その2
http://pc11.2ch.net/test/read.cgi/tech/1051039126/l50
0291デフォルトの名無しさん2008/10/31(金) 12:35:25
ここでいいよ
0292デフォルトの名無しさん2008/10/31(金) 12:40:20
俺もここでいいと思う
0293デフォルトの名無しさん2008/10/31(金) 12:41:55
俺もWin32APIの話はここでいいと思う
0294デフォルトの名無しさん2008/10/31(金) 13:06:54
>>289
っていう奴がどの自治スレでも出るんだけど
いざ導入してみるとどの板でも荒らしはほとんどいなくなるから不思議

荒らす奴もID変えてする奴はほとんどいない
ようはそこまで手間かけて荒らす奴なんて稀って事だな
0295デフォルトの名無しさん2008/10/31(金) 13:16:09
強制IDでも荒れてるスレなんていくらでもあるが
0296デフォルトの名無しさん2008/10/31(金) 13:36:19
それが何か?
0297デフォルトの名無しさん2008/10/31(金) 13:52:30
↑話を理解してない馬鹿
0298デフォルトの名無しさん2008/10/31(金) 14:03:47
↑話を理解してない馬鹿
0299デフォルトの名無しさん2008/10/31(金) 14:04:15
↑話を理解してない馬鹿
0300デフォルトの名無しさん2008/10/31(金) 14:05:57
↑話を理解してない馬鹿
0301デフォルトの名無しさん2008/10/31(金) 14:06:01
↓話を理解してない馬鹿
0302デフォルトの名無しさん2008/10/31(金) 14:06:32
↑話を理解してない馬鹿↓
0303デフォルトの名無しさん2008/10/31(金) 14:08:14
→話を理解してない馬鹿
0304デフォルトの名無しさん2008/10/31(金) 14:11:22
>>297-303
IDの出ない板で荒れる例
0305デフォルトの名無しさん2008/10/31(金) 14:15:24
流れぶった切ってすみません

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

コマンドラインで出来るらしいのですが登録するたびにパスを入力
しないといけないみたいです
0306デフォルトの名無しさん2008/10/31(金) 14:18:41
>>305
ttp://msdn.microsoft.com/en-us/library/aa383614.aspx
0307デフォルトの名無しさん2008/10/31(金) 14:24:22
>>306
ありがとうござます><;
0308デフォルトの名無しさん2008/10/31(金) 14:38:42
ID導入があるとしたら管理者の便宜の為だけ。
0309デフォルトの名無しさん2008/10/31(金) 14:43:21
うるせー馬鹿
0310デフォルトの名無しさん2008/10/31(金) 14:43:52
馬鹿うるせー
0311デフォルトの名無しさん2008/10/31(金) 15:12:16
>>297-303とか>>309-310
みたいな流れを見るたびに、なんか虫みたいで気持ち悪く感じる。
まぁ、これに関してはID制の話の流れでわざとやってんのかなとも思うけど。
0312デフォルトの名無しさん2008/10/31(金) 15:19:02
いつもの事だろw
スルーしておけばいいだけ
0313デフォルトの名無しさん2008/10/31(金) 15:26:48
どうせID賛成派が自演で荒らしてるんだろ
0314デフォルトの名無しさん2008/10/31(金) 15:31:20
MDIでウィンドウを沢山作って最大化したときに上の方にタブ型になるには
どうすればいいですか?タブブラウザを作ろうと思ってます
0315デフォルトの名無しさん2008/10/31(金) 15:32:26
>>304
>>297-303なんて強制IDの板でも普通にあるだろ。
これに限って言えば抑止力にはならん。

そんなことよりWin32APIの話しようぜ。
0316デフォルトの名無しさん2008/10/31(金) 15:32:27
最大化された時に上の方にタブを出せばよい
03173142008/10/31(金) 15:37:52
最大化したときに自動でMDI式からタブ式に変わるような設定とか無いですか?
DonutはそうなってるけどDonutnoソース見たけど分かりませんでした
0318デフォルトの名無しさん2008/10/31(金) 15:40:58
そんなことよりID制の話しようぜ。
0319デフォルトの名無しさん2008/10/31(金) 15:41:32
ウィンドウ関係をクラス化しようとSetProp使ってクラスのポインタ保存しようとしたらなんかエラー出た・・・
原因分かる人いる?
0320デフォルトの名無しさん2008/10/31(金) 15:42:53
いないからID制の話しようぜ。
0321デフォルトの名無しさん2008/10/31(金) 15:44:30
さっさとID制の話しようぜ。
0322デフォルトの名無しさん2008/10/31(金) 15:50:03
MDI形式って一度も使ったことない。
後ろが隠れるのがデメリットに思えてしょうがない。
便利ですか?
0323デフォルトの名無しさん2008/10/31(金) 15:53:21
>>322
だって並べて見比べられるんだぜ?
0324デフォルトの名無しさん2008/10/31(金) 16:19:20
便利でも何でもいいからID制の話しようぜ。
0325デフォルトの名無しさん2008/10/31(金) 16:20:03
IDの話なんかどうでもいいからAPIの話しようぜ。
0326デフォルトの名無しさん2008/10/31(金) 16:21:10
ネットワークのAPIの本って意外にすくないね。WinSOck2プログラミングっていうのがあるけど
高い。
0327デフォルトの名無しさん2008/10/31(金) 16:22:26
ネットワークAPIの本は少ないからIDの話しようぜ。
0328デフォルトの名無しさん2008/10/31(金) 16:33:47
MDIはMSも見捨てた過去のUI
0329デフォルトの名無しさん2008/10/31(金) 16:37:51
>>326
API自体は昔からあるソケットの資産を
Windowsに合わせてイベントハンドラ追加したりしてチューニングしたもんだから
あんま書くこと無いんだよ

>>319
SetPropとGetPropしてるところ書けよ
0330デフォルトの名無しさん2008/10/31(金) 18:43:08
やだね
0331デフォルトの名無しさん2008/10/31(金) 18:49:39
そうつれないこと言わずにお願いしますよ〜
0332デフォルトの名無しさん2008/10/31(金) 19:24:37
IDEにある、ソリューションエクスプローラーとか、ああいうウィンドウが
はまってるのは、MDIじゃないのけ?
0333デフォルトの名無しさん2008/10/31(金) 20:09:03
>>317
Donutは普通のMDIにタブも付けているだけ。
良く見ろ、最大化していなくてもタブがある。
0334デフォルトの名無しさん2008/10/31(金) 22:42:01
ドッキングウィンドウはMDIとはまた違うが
MDIと併用するのもまた事実
0335デフォルトの名無しさん2008/10/31(金) 22:52:45
ハァ?
0336デフォルトの名無しさん2008/10/31(金) 22:59:58
ハァ(笑)
0337デフォルトの名無しさん2008/10/31(金) 23:01:09
ナからぎゅ〜にゅ〜
0338デフォルトの名無しさん2008/11/01(土) 00:24:27
ドッキングウィンドウをダブルクリックすると単独のウィンドウに
なるよね。あれはMDIなのかな。どうなのかな。
0339デフォルトの名無しさん2008/11/01(土) 00:38:22
MoveToEx()→LineTo()で直線描くと最後の点が描画されないんだけど、
なんか描く方法はないですか?
ペイントみたいなのの勉強してて、
ペイントだとクリックした瞬間にその点が塗られるから、それを実現したい。
当然ながら、最後にマウスを離した点も描画したい。
0340デフォルトの名無しさん2008/11/01(土) 00:42:52
結局WinAPI
0341デフォルトの名無しさん2008/11/01(土) 00:42:55
始点を保持しとけ
0342デフォルトの名無しさん2008/11/01(土) 00:44:04
ミスると書く気なくなるよね
0343デフォルトの名無しさん2008/11/01(土) 01:17:19
ドッキングウィンドウって昔からあったっけ?
新機能で途中から追加されたものなの?
MDIとは一線を画するものなの?
0344デフォルトの名無しさん2008/11/01(土) 09:13:25
Document/Viewモデル的にMDIであれば、
タブとかドッキングとかその他変態スタイルに関係なくMDI。
0345デフォルトの名無しさん2008/11/01(土) 12:12:06
>>339
最後の点だけSetPixelVで描けばいいだろ
0346デフォルトの名無しさん2008/11/01(土) 13:21:20
MDIはMSも見捨てた過去のUI
0347デフォルトの名無しさん2008/11/01(土) 14:48:49
ExcelがMDIに見えるのは目の錯覚なのです
0348デフォルトの名無しさん2008/11/01(土) 16:00:16
でも、グラフィックエディタなんかは、切った貼ったやるんだから
どうやってもMDIになるだろう。不必要ってわけでもなかろう。
0349デフォルトの名無しさん2008/11/01(土) 16:10:45
大分当初の話から脱線してるなあ
0350デフォルトの名無しさん2008/11/01(土) 16:34:11
>>343
昔からあったけどデフォの機能としては、Windows2000が出るころまでなかったかもしれない。
0351デフォルトの名無しさん2008/11/01(土) 16:52:46
おまえにドッキング
0352デフォルトの名無しさん2008/11/01(土) 16:55:41
>>350
もっと前からあっただろ
0353デフォルトの名無しさん2008/11/01(土) 17:29:49
どの版からかは知らんがMFCに実装されたのが初出なんじゃないの
つーかこのスレの人はやっぱMFCなんて糞食らえなの?
0354デフォルトの名無しさん2008/11/01(土) 17:43:44
というかMFCやWTLを使わずにWin32SDK onlyでプログラム作る方が糞
車輪の再発明というより時間と労力の無駄
0355デフォルトの名無しさん2008/11/01(土) 17:44:39
MFCぜんぜんわかんないから直接API叩いてる人たちのスレですよ。
0356デフォルトの名無しさん2008/11/01(土) 17:48:02
ATL/WTLでいいじゃん
0357デフォルトの名無しさん2008/11/01(土) 18:01:35
>>353
このスレの人=社会の糞
0358デフォルトの名無しさん2008/11/01(土) 18:02:14
MFCの謎な仕様に頭を悩ます位なら自分で薄いラッパ書いちゃえ
と思うことはよくある
0359デフォルトの名無しさん2008/11/01(土) 18:06:21
ATL/WTLでいいじゃん
0360デフォルトの名無しさん2008/11/01(土) 18:11:14
貧乏な俺はExpressEditionなのでMFCもATLも・・・
0361デフォルトの名無しさん2008/11/01(土) 18:22:19
>>360
プログラマならシェアウェア作ってカネ貯めてStandard以上を買え
0362デフォルトの名無しさん2008/11/01(土) 18:31:18
体験版に全部入ってるお(^ω^;)
0363デフォルトの名無しさん2008/11/01(土) 18:37:02
質問です。GetDlgItemIntの戻り値が常にUINTなんですが、引数の符号でTRUEを渡した場合には、
単純にキャストしても安全なのでしょうか。
0364デフォルトの名無しさん2008/11/01(土) 18:37:59
Win32APIしか知らないのは糞。
Win32APIの知識が無いのにMFC使ってるのも糞。
0365デフォルトの名無しさん2008/11/01(土) 18:42:00
本来APIの知識がなくてもMFCが使えるべきだと思うが・・・
0366デフォルトの名無しさん2008/11/01(土) 18:44:04
>>363
大丈夫。というか、整数値と互換性のある基本型なら大抵大丈夫。
0367デフォルトの名無しさん2008/11/01(土) 18:47:33
MFCはWin32の低レベルラッパ
0368デフォルトの名無しさん2008/11/01(土) 18:57:02
>>355
あなた、両方わかんないのがバレバレですよ
0369デフォルトの名無しさん2008/11/01(土) 18:59:35
Win32APIでまじめにC++キャスト使うと
reinterpret_cast<>しまくりで疲れる
0370デフォルトの名無しさん2008/11/01(土) 19:15:55
リッチエディットを使ったプログラム書いてるんですけど、
フォーカスが無いときでも文字が追加されたら追加された箇所が見える位置にくるように浮くロールバーを上下させたいのですが、メッセージ送るだけじゃ無理ですか?

EM_LINESCROLL
EM_SCROLLCARET
EM_SCROLL
EM_SETSEL
は試しましたがいずれもフォーカスを持った状態でないと機能しませんでした。
0371デフォルトの名無しさん2008/11/01(土) 19:39:59
SetFocus
0372デフォルトの名無しさん2008/11/01(土) 19:40:48
SetFocus
0373デフォルトの名無しさん2008/11/01(土) 19:42:05
大(略
0374デフォルトの名無しさん2008/11/01(土) 19:54:34
(略
0375デフォルトの名無しさん2008/11/01(土) 20:11:12
略しすぎ
0376デフォルトの名無しさん2008/11/01(土) 20:14:04
>365
確かに CSpinButtonCtrl にはがっかりだった。
0377デフォルトの名無しさん2008/11/01(土) 20:19:39
>>371-372
リッチエディットのハンドルと親のハンドルで試してもダメでした。

それどころかSetActiveWindowも反応無いのはどういうこと?
0378デフォルトの名無しさん2008/11/01(土) 21:09:57
浮くロールバーって何?
0379デフォルトの名無しさん2008/11/01(土) 21:21:25
ごめんなさいorz
スクロールバーです、sが抜けました。
0380デフォルトの名無しさん2008/11/01(土) 21:22:30
でも、浮くロールバーもあってもいいよな
0381デフォルトの名無しさん2008/11/02(日) 14:01:43
エクスプローラのツリーでフォルダの横に付いてる+マークをクリックしたときに贈られるメッセージはなんですか?
spy++でツリー、WM_Notifyの項目をみてもなにも送られてこないんです。
アプリ、フォルダウィンドウ、TreeCtlr?どこを見てもフォルダ展開のメッセージが出てきません。どうやったら確認できるんですか?
0382デフォルトの名無しさん2008/11/02(日) 14:06:17
TVN_ITEMEXPANDED, TVN_ITEMEXPANDING
0383デフォルトの名無しさん2008/11/02(日) 15:47:47
どうやったら確認できるんですか?
0384デフォルトの名無しさん2008/11/02(日) 15:50:11
Windowsしか知らないのは糞。
Windowsの知識が無いのにUNIX使ってるのも糞。
0385デフォルトの名無しさん2008/11/02(日) 15:59:18
いきなりどうした。
何かいやな事でもあったのか。
0386デフォルトの名無しさん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;
}

0387デフォルトの名無しさん2008/11/02(日) 16:48:32
デバッグでもしろよ…
0388デフォルトの名無しさん2008/11/02(日) 17:04:03
ごめんスレまちがえた
03893862008/11/02(日) 17:56:46
スレ間違えたのでしめます
03903862008/11/02(日) 18:14:05
>>387
383の書き込みは自分じゃありません。気を悪くしていたらと思い言っておきます。
0391デフォルトの名無しさん2008/11/02(日) 23:50:55
〜INGなメッセージや通知コードでMessageBoxを出すなんて随分と行儀の悪いアプリだな
0392デフォルトの名無しさん2008/11/02(日) 23:52:55
ただの動作テストでしょ。重角にも程が。
0393デフォルトの名無しさん2008/11/02(日) 23:59:57
ファイルを開くダイアログで10秒くらい放置すると落ちるソフトがたまにあるけど、あれはどういうバグなの?
0394デフォルトの名無しさん2008/11/03(月) 00:22:07
時限爆弾
0395デフォルトの名無しさん2008/11/03(月) 02:16:42
タスクトレイにアイコンのみ表示させている状態から2重起動しようとした場合、
元のウインドウを表示させ、タスクトレイのアイコンを消したうえで、アクティブにしたいのですが、
どの関数を使ったらよいでしょうか?
ShowWindowでは元のウインドウは表示されませんでした。
0396デフォルトの名無しさん2008/11/03(月) 03:55:29
元のウインドウにShowWindowすればいいだろ
0397デフォルトの名無しさん2008/11/03(月) 10:18:31
2重起動で気になってたんだけどcreatemetexの後
messagebox(NULL,〜 起動していますと表示させようとしたら
.exeをクリックするたびに何度でも表示される。
ふつーのmessagebox(hwnd,〜みたいに一度しか表示されないようには
できないの?NULLをhwndにしたら何も表示されなくなった。起動は防げてるけど。
0398デフォルトの名無しさん2008/11/03(月) 11:25:18
誰か>>397の翻訳頼む
0399デフォルトの名無しさん2008/11/03(月) 11:34:40
mutexわかんね
0400デフォルトの名無しさん2008/11/03(月) 12:12:25
mutexではありません
metexです
0401デフォルトの名無しさん2008/11/03(月) 12:15:09
latex?
0402デフォルトの名無しさん2008/11/03(月) 13:16:45
>>397
起動したプロセスごとに MessageBox が表示されているんだろうから、
そうなって当たり前だろうに。
0403デフォルトの名無しさん2008/11/03(月) 13:27:18
>>397
は無視してくれ…
0404デフォルトの名無しさん2008/11/03(月) 14:28:50
すみません、APIでマウスオーバー時だけ浮き上がるフラットツールバーを作成しようとするとツールバーの背景がおかしくなります。助けてください
0405デフォルトの名無しさん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はハンドル削除するだけでいいんだよね?
0406デフォルトの名無しさん2008/11/03(月) 14:56:38
削除する前にSelectする前の状態に戻さなくてはならない
0407デフォルトの名無しさん2008/11/03(月) 14:57:36
SelectObjectの戻りを保存しる
0408デフォルトの名無しさん2008/11/03(月) 15:24:46
>>406,407ありが�d。仲いいな
0409デフォルトの名無しさん2008/11/03(月) 23:30:08
>>406-407
こういう場合ってDeleteDCする前に戻す必要無くね?
0410デフォルトの名無しさん2008/11/03(月) 23:51:56
GDIのソースでも読まない限り、正確なところは判らない。
ただ、戻しておけば大丈夫な事は確かだ。
0411デフォルトの名無しさん2008/11/04(火) 00:46:44
MSDNに戻せと書いてある以上、戻すのがまともなプログラマです。
0412デフォルトの名無しさん2008/11/04(火) 00:51:49
面倒だからSaveDC/RestoreDCっすよねー
0413デフォルトの名無しさん2008/11/04(火) 00:51:53
Windowsがダメなところは、ダメなプログラムでも動くように努力してしまったところ
0414デフォルトの名無しさん2008/11/04(火) 00:58:54
悪貨は良貨を駆逐するという言葉が脳裏によぎる。
0415デフォルトの名無しさん2008/11/04(火) 01:31:30
SelectObjectしたままだとDeleteObjectできなくなるから
使用後はとりあえず元のオブジェクトに戻しておけば無難ってだけだろ
だからストックオブジェクトをSelectObjectした場合などは戻す必要は無いし、
>>405の場合にしても他のDCのオブジェクトを借りてるだけだから戻さなくてもいい

その程度も知らずに「まともなプログラマ」「ダメなプログラム」を語る奴がいるとは片腹痛いわ
0416デフォルトの名無しさん2008/11/04(火) 01:46:08
という風に長々と説明するのがアホらしいから戻す
0417デフォルトの名無しさん2008/11/04(火) 01:53:28
ダメなプログラムでも動くというのは、構造体のサイズをサイズをセットしなくても動くとか
いろいろあるよ
0418デフォルトの名無しさん2008/11/04(火) 01:57:38
そこでwineのソースですよ
0419デフォルトの名無しさん2008/11/04(火) 07:44:05
>414
それは意味が違う。言いたいことはわかるが、誤用だ。
0420デフォルトの名無しさん2008/11/04(火) 08:50:16
良貨は悪貨を駆逐する
0421デフォルトの名無しさん2008/11/04(火) 08:51:18
ストックオブジェクトをSelectObjectした場合に
DeleteObjectすると死ねますか
0422デフォルトの名無しさん2008/11/04(火) 09:09:14
DeleteObject 関数を呼び出してストックオブジェクトを削除する必要はありません(削除しても問題はありません)。
0423デフォルトの名無しさん2008/11/04(火) 09:12:13
GetSysColorBrushは?
0424デフォルトの名無しさん2008/11/04(火) 10:29:01
SaveDCとRestoreDCを使えばそんなことで悩む必要無いのに。
0425デフォルトの名無しさん2008/11/04(火) 12:40:13
DeleteObject は知らんけど
Release して死んだことはあるな
0426デフォルトの名無しさん2008/11/04(火) 13:46:37
(HBRUSH)(COLOR_WINDOW+1)とかで適当なHBRUSHオブジェクトになるのはどうして?
0427デフォルトの名無しさん2008/11/04(火) 13:53:20
一定の数以下は数字を指定したと判断して中でブラシ用意してるんだろう。
なんで+1なのかは、ヌルのブラシも許されてるから、中で1引いてるんだろうw
0428デフォルトの名無しさん2008/11/04(火) 15:26:58
WNDCLASS(EX)やFillRectは>>426の書き方が出来るのに
なぜかFrameRectでは出来ないんだよなw
0429デフォルトの名無しさん2008/11/04(火) 15:29:56
>>428
境界線だけだからじゃね?

>426 タイプのリソースの本体は、実はパターンなブラシかもしれないしね
0430デフォルトの名無しさん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のバグか設計ミスだろう
0431デフォルトの名無しさん2008/11/04(火) 15:48:48
0のときのための処理を忘れてるw
0432デフォルトの名無しさん2008/11/04(火) 15:48:51
いい加減だ
0433デフォルトの名無しさん2008/11/04(火) 15:55:02
GetSysColorBrush使えということで勘弁してください。
0434デフォルトの名無しさん2008/11/04(火) 15:55:58
>>431
スマン、適当に書きすぎたw -1しないとダメだね。
まあ言いたいのは最後の一行だから気にしないでくれ。

WNDCLASS(EX)でできるのは、多分DefWindowProcのWM_ERASEBKGNDの処理が
WNDCLASS(EX)::hbrBackgroundでFillRectしているだけなんだろう
0435デフォルトの名無しさん2008/11/04(火) 19:13:50
ウインドウアプリもしくはコンソールアプリ共通で使える.exeを作りたいと思っています。
その場合の標準出力の仕方について教えてください。

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

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

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

コマンドプロンプトから起動した場合のみ標準出力をする良い方法はないでしょうか?
0436デフォルトの名無しさん2008/11/04(火) 19:22:41
CreateToolhelp32Snapshotでプロセスのスナップショットを取ると親プロセスのIDが取れる
なんかの役には立つかも
0437デフォルトの名無しさん2008/11/04(火) 19:32:57
attachconsole
04384352008/11/04(火) 19:46:10
>>437
ありがとうございます。
期待している動作をさせることができました!!

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


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

どうもありがとうございました。
0439デフォルトの名無しさん2008/11/04(火) 22:02:40
start /wait
0440デフォルトの名無しさん2008/11/04(火) 22:12:14
>>435
AttachConsoleもAllocConsoleもいらないよ
GetStdHandleだけでいいよ
アプリ|more
アプリ>ファイル
04414352008/11/04(火) 23:23:49
>>439
言われて思い出しました、ありがとうございます。

>>440
GetStdHandleだと0x00000000が戻ってきて、標準出力で正しく出力されないようでした。
もう一度確認してみます。
0442デフォルトの名無しさん2008/11/05(水) 00:28:49
アプリ|more
アプリ>ファイル
しないとだめよ
04434352008/11/05(水) 00:59:45
>>442
たびたびすいません。

> アプリ|more
> アプリ>ファイル
でやってみましたが、やはり標準出力に書いたはずの文字列はうまく表示されませんでした。
うーむ・・・。
0444デフォルトの名無しさん2008/11/05(水) 02:16:36
嘘を教えたがる奴がいるみたいだな
>>440とか>>442とか

騙る奴もそうだが、この手の連中って何が目的なんだろうね
04453862008/11/05(水) 03:05:17
自分の質問をスルー、クズ扱いされていたちごっこになってるだけだと思われ
0446デフォルトの名無しさん2008/11/05(水) 04:46:36
叩かれたから叩き返すってか


クソガキが
0447デフォルトの名無しさん2008/11/05(水) 05:10:43
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
叩け叩け叩け叩け叩け叩け叩け叩け叩け
0448デフォルトの名無しさん2008/11/05(水) 05:45:00
ゲシュタルト崩壊キタコレ
0449デフォルトの名無しさん2008/11/05(水) 07:59:09
明日はどっちだ
0450デフォルトの名無しさん2008/11/05(水) 08:09:03
前
0451デフォルトの名無しさん2008/11/05(水) 08:52:50
古代ギリシア人に言わせると前にあるのが過去で、未来は後ろにあるもんだそうな。
曰く「過去は見ることができるが、未来は見えない」
0452デフォルトの名無しさん2008/11/05(水) 09:11:39
過去は光速で遠ざかっていく
未来は光速で向かってくる
0453デフォルトの名無しさん2008/11/05(水) 12:51:21
>>435
変なことしてなきゃふつうにできるはずだが
変なことしてないか?標準エラーを見てるとか?
0454デフォルトの名無しさん2008/11/05(水) 14:44:35
>>453
なぜ嘘を教えたいの?
0455デフォルトの名無しさん2008/11/05(水) 15:12:25
アプリ間でデータのやり取りをしたいのですが
SendMessageのWM_COPYDATA以外になにか方法はありますか?
0456デフォルトの名無しさん2008/11/05(水) 15:18:59
共有メモリとかネームドパイプとか
0457デフォルトの名無しさん2008/11/05(水) 16:14:18
WM_ENABLEって、以下のように状態が変わらないと発生しないようなのですが、
その挙動はどこかで保証されていますでしょうか?

EnableWindow(FALSE); // ここでは発生する
EnableWindow(FALSE); // ここでは発生しない
EnableWindow(FALSE); // ここでは発生しない
EnableWindow(TRUE);  // ここでは発生する
EnableWindow(TRUE);  // ここでは発生しない
EnableWindow(TRUE);  // ここでは発生しない
0458デフォルトの名無しさん2008/11/05(水) 16:37:03
>>456
共有メモリって簡単にできる?
どっか参考になるサイト教えてくださいよ
0459デフォルトの名無しさん2008/11/05(水) 16:49:01
そのくらいググれよw
キーワードは「プロセス間通信」あたりで
0460デフォルトの名無しさん2008/11/05(水) 16:50:41
Windowsの場合、メモリマップドファイルで探すといいかも
0461デフォルトの名無しさん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を見ないのだろうねぇ
0462デフォルトの名無しさん2008/11/05(水) 17:24:19
知らないならレスしないで下さい。非常に不愉快です。
0463デフォルトの名無しさん2008/11/05(水) 18:32:02
>>459
とりあえずそれでググってみるわ
>>460
それめんどかった
0464デフォルトの名無しさん2008/11/05(水) 18:40:38
メモリマップドファイル程度でメンドイとなるとアトムくらいしか残ってないんじゃねーかw?
パイプはもっとめんどいぞw
0465デフォルトの名無しさん2008/11/05(水) 18:44:01
Windowsだと共有メモリはメモリマップドファイルで実現する方法が普通なので
面倒なら共有メモリは使わない、ということでいいのかな。
きまりきった関数を決まった順番で呼ぶだけだけどな。
0466デフォルトの名無しさん2008/11/05(水) 18:45:09
おまえらメモリマップドファイルメモリマップドファイルってうるさい奴だなしなし
どうせそれしか知らないんだろ?
0467デフォルトの名無しさん2008/11/05(水) 18:49:56
通信する内容・形態によるからな。そういうこと書いてないなら、
メモリ空間を共有するメモリマップドファイルなら何にでも対応できるからそれを勧めるだろう。
0468デフォルトの名無しさん2008/11/05(水) 18:51:14
ごめんなさいメモリマップドファイルを勉強してきます
0469デフォルトの名無しさん2008/11/05(水) 19:01:32
僕がメモリマップドファイルです。
0470デフォルトの名無しさん2008/11/05(水) 19:02:45
せっかくWinAPI覚えたから、グラフィックでランダムに幾何学的な
グラフィック表示をして、印刷して、今年の年賀状を送ろう。
0471デフォルトの名無しさん2008/11/05(水) 19:06:49
メモリマップトファイルが面倒なら普通のファイル使っちゃえよもう。
0472デフォルトの名無しさん2008/11/05(水) 19:09:00
>>470
メモリマップドファイルで送るんですね。わかります。
0473デフォルトの名無しさん2008/11/05(水) 20:22:54
アプリ|more
アプリ>ファイル
で標準出力が割り当てられて、CreateProcessでinheritされるだろ?
それをGetStdHandleで取れるだろ?
0474デフォルトの名無しさん2008/11/05(水) 20:24:17
疑問形にするくらいなら、自分で試してみてから答えればいいのに。
0475デフォルトの名無しさん2008/11/05(水) 20:25:21
付加疑問文って中学校で習わないか?
0476デフォルトの名無しさん2008/11/05(水) 20:50:24
Did you learn about this, didn't you?
0477デフォルトの名無しさん2008/11/05(水) 20:50:50
スタートメニューの最近開いたアプリケーションの一覧に
任意のアプリを追加するのってどうやんのすか?
なんかのCOMインターフェイスでも取得するんのかな
0478デフォルトの名無しさん2008/11/05(水) 21:35:38
documents and settings\hoge\recent
にショートカットを作ればいいよ
0479デフォルトの名無しさん2008/11/05(水) 21:38:03
AddRecent
0480デフォルトの名無しさん2008/11/05(水) 22:01:13
うそーん
0481デフォルトの名無しさん2008/11/05(水) 22:06:11
「最近使ったファイル」ならSHAddToRecentDocs
「最近使ったプログラム」だったらたぶんレジストリ
0482デフォルトの名無しさん2008/11/05(水) 22:42:16
それはユーザが決めるところだから、プログラムから触る手段を作らなかったって話のやつだな。
http://blogs.msdn.com/oldnewthing/archive/2003/09/03/54760.aspx
0483デフォルトの名無しさん2008/11/05(水) 22:54:05
ユーザーとプログラマのどちらを優先させるかで、
昔はプログラマを信用してAPIを提供してたたけど、
歴史的に見てウゼーアプリが多いから信用しませんよ、
みたいな話だな
0484デフォルトの名無しさん2008/11/05(水) 22:57:11
>>482
納得しました。ありがとうございました
0485デフォルトの名無しさん2008/11/05(水) 22:59:49
何でもかんでもプログラムで制御しようとする発想が間違いなんだよ
ユーザーはそんな事は望んでいない、単なるプログラマのエゴだ

例
強引にSetForegroundWindowするアプリ
ダイアログのOKボタンに勝手にマウスカーソルを移動するアプリ
0486デフォルトの名無しさん2008/11/05(水) 23:01:44
まああまりお行儀が良いとは言えないよな
自分しか使わないアプリってならともかく、ユーザにことわりを
入れなければいけないレベル
0487デフォルトの名無しさん2008/11/05(水) 23:05:34
未だにCドライブの直下にわけわからんファイル残す糞アプリとかあるし
0488デフォルトの名無しさん2008/11/05(水) 23:11:52

∧_∧
     o/⌒( ゚д゚ )つ 話がズレているぞ
     と_)__つノ
0489デフォルトの名無しさん2008/11/05(水) 23:15:22
c:\sqmdata00.sqm
0490デフォルトの名無しさん2008/11/05(水) 23:21:30
プログラムランチャが実行したアプリを登録するオプションを持つくらいだったらいいと思うんだが
まあ認めたらずるずるになるから仕方ないか
0491デフォルトの名無しさん2008/11/05(水) 23:25:01
Cドライブ直下ならまだマシ
アンインストールしてもC:\Windows以下にわけわからんゴミを大量に残す糞ソフトもあるからな
.NETとか
0492デフォルトの名無しさん2008/11/05(水) 23:27:01
MS様が自分のOSにどんな糞をひろうが勝手だろ
0493デフォルトの名無しさん2008/11/05(水) 23:28:34
下手するとアンインストールできないこともあるIEよりはまし。
0494デフォルトの名無しさん2008/11/05(水) 23:45:09
ダウンロードしたexeを実行すると自動でsystem32にインストール。
主要なファイル形式数十種類に自動で関連付け。
各ユーザのデスクトップ、スタートアップ、クイック起動へ自動でショートカットを登録。
万一、他のソフトが関連付けを解除してしまったり、常駐を解除してしまっても自動で修復。
1時間おきにインターネット接続して、常に最新の状態に自動でアップデート。
インストーラが全ユーザを自動で管理者権限にしてUACも解除してくれるので、
どのユーザーアカウントでも快適に使用可能。
アンインストール機能が無いので間違って削除してしまう心配は無い。
その上、もし手動でファイルを削除してしまっても自動で修復して復旧するので安心。

つまり、
行儀が悪いソフト≒初心者に優しいソフト
ということ。
0495デフォルトの名無しさん2008/11/05(水) 23:52:42
初心者プログラマにも易しいよね
0496デフォルトの名無しさん2008/11/06(木) 00:02:02
PC初心者に優しいスパイウェアですね、わかります
0497デフォルトの名無しさん2008/11/06(木) 09:07:25
>>487
おっとハンゲームの悪口はそこまでだ
0498デフォルトの名無しさん2008/11/06(木) 14:01:24
>>485
>ダイアログのOKボタンに勝手にマウスカーソルを移動するアプリ

これ危なすぎるよな
他人のPC使うときに何度痛い目にあったか
そいつはなんとも思ってないらしいが・・・
0499デフォルトの名無しさん2008/11/06(木) 14:04:52
勝手にIMEのモードを変えるのもやめてほしい
0500デフォルトの名無しさん2008/11/06(木) 14:09:33
たしかにエディットボックスが強制数字入力だったり、パスワードが伏字にされたりすると、
強制されてるみたいでいやだ
0501デフォルトの名無しさん2008/11/06(木) 14:18:48
パスワードが伏字じゃないと怖くて使えない
0502デフォルトの名無しさん2008/11/06(木) 14:26:45
だったら使うな
0503デフォルトの名無しさん2008/11/06(木) 14:35:03
じゃあパスワードが伏字じゃないソフトを教えてくれよ
使わないようにするからさ。
0504デフォルトの名無しさん2008/11/06(木) 14:42:51
ちゃんと伏字にするかしないか、プログラムに決めさせるんじゃなくて、ユーザーが設定できるようにすればいい
って話じゃないのか
0505デフォルトの名無しさん2008/11/06(木) 15:41:16
伏字が*とか●とかってもう飽きちゃったんだよね
△※◎☆▼!
みたいに出てきてくれると楽しそう
0506デフォルトの名無しさん2008/11/06(木) 15:50:31
> *とか●とか
ケツの穴とかウンコとか
0507デフォルトの名無しさん2008/11/06(木) 15:52:59
::SendMessageW(hwndEdit, EM_SETPASSWORDCHAR, L'☠', 0);
0508デフォルトの名無しさん2008/11/06(木) 16:07:26
SendMessageで別のウィンドウ(別プロセスの)に送り元プロセスの文字列のポインタを送って
送り先でその文字列を読むにはどうすればいいんですか?
0509デフォルトの名無しさん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;
0510デフォルトの名無しさん2008/11/06(木) 17:59:16
ちょっと馬鹿っぽい質問ですが・・・
dllでメッセージって受け取ることできますか?
できるならやり方を教えてください。

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

ソフトAからDLLでWM_COPYDATAを送ってDLLがそれを受け取って
ソフトBにWM_COPYDATAを送るみたいな・・・
0511デフォルトの名無しさん2008/11/06(木) 18:02:25
ちょっと馬鹿っぽい回答ですが・・・
メッセージ用のダミーなウィンドウ作ればいいんじゃないですか?
0512デフォルトの名無しさん2008/11/06(木) 18:56:14
ポストしていいものならスレッド作ってPostThreadMessageという手もある。
WM_COPYDATAはSendじゃないとダメみたいだが。
0513デフォルトの名無しさん2008/11/06(木) 19:01:29
>>512
馬鹿っぽいというよりお前は馬鹿そのものだな
0514デフォルトの名無しさん2008/11/06(木) 19:14:53
Windows7でWin32て.NETに明け渡すの?
もしそうならもう精力的に学ぶ意味なくね?
0515デフォルトの名無しさん2008/11/06(木) 19:17:24
いや、今までのWin32はそのままだし、
XPS関連とかDirect2DとかネイティブAPIも増え続ける。
0516デフォルトの名無しさん2008/11/06(木) 19:18:15
じゃあ前途が怪しいのはMFCとかあの辺のラッパだけ?
0517デフォルトの名無しさん2008/11/06(木) 19:58:20
>>510
SetWindowLongでdllフックじゃダメなん?
0518デフォルトの名無しさん2008/11/06(木) 19:58:41
コントロールにフォーカスがある時のキー入力を取得したい時は
コントロールをサブクラス化するしかないのでしょうか?
0519デフォルトの名無しさん2008/11/06(木) 20:08:46
コントロールの親でトラップして何事もなかったかのようにデフォルトプロシージャに戻す
0520デフォルトの名無しさん2008/11/06(木) 20:09:45
スレッドにキーボードフックを掛ける手もありますん
0521デフォルトの名無しさん2008/11/06(木) 21:13:08
Direct2DとかDirectWriteってCOMベースなんだろ?
GDIと比較するとめんどいな。
0522デフォルトの名無しさん2008/11/06(木) 21:14:48
COMとかいい加減にしてくんねーかな
0523デフォルトの名無しさん2008/11/06(木) 22:03:10
COMで何か問題でも?
05245182008/11/06(木) 23:09:01
>>519
ありがとうございます
「トラップ」で調べてみたのですが、
それらしきソースが落ちていませんでした
MFCなら PreTranslateMessage というものがあるようですが・・・

>>520
ありがとうございます
MDIのソフトを作成しているので、
スレッドでフックするのは無理そうです
0525デフォルトの名無しさん2008/11/06(木) 23:10:12
↑は毎度出てくる理解しようとしないバカ

0526デフォルトの名無しさん2008/11/07(金) 00:10:50
↑は毎度出てくるただのバカ
05275182008/11/07(金) 00:43:42
>>525
私の理解力が足りないためにすみません
もしよろしければどの点が理解できていないのか
ご指摘をお願いしたいのですが・・・
0528デフォルトの名無しさん2008/11/07(金) 00:45:11
↑文脈で判断できないバカ
05295182008/11/07(金) 00:48:44
>>528
私の理解不足は重々承知しております
ですから、どの点を理解できていないのか
ご指摘を頂きたいのです
0530デフォルトの名無しさん2008/11/07(金) 00:53:36
ほっとけよ意味なく書いてるだけだから
05315182008/11/07(金) 01:00:04
結局、指摘できないということでよろしいでしょうか
バカという奴がバカとは言い得て妙ですね
0532デフォルトの名無しさん2008/11/07(金) 01:10:12
どうせニセモノだろ
0533デフォルトの名無しさん2008/11/07(金) 01:22:59
慣れれば楽だろCOMは・・既存のものを使うだけなら尚更
0534デフォルトの名無しさん2008/11/07(金) 01:59:59
AddRef/Releaseし忘れとかSTA/MTAとかかな
前者は_com_ptr_tやCComPtrを使えばいいけど
05355182008/11/07(金) 02:05:48
>>531
私を語るにしてももう少し言葉を選んで頂ければうれしいです
05365182008/11/07(金) 04:39:18
>>535
何を「語る」んだ?(笑)
0537デフォルトの名無しさん2008/11/07(金) 05:35:30
得意げに(笑)とか使っちゃってバーカみたい
0538デフォルトの名無しさん2008/11/07(金) 06:45:16
ん?悔しかったの?(笑)
0539デフォルトの名無しさん2008/11/07(金) 07:25:13
得意げに(笑)とか使っちゃってバーカみたい
0540デフォルトの名無しさん2008/11/07(金) 07:29:11
ん?悔しかったの?
0541デフォルトの名無しさん2008/11/07(金) 07:34:51
ん?悔しかったの?
得意げに(笑)とか使っちゃってバーカみたい
0542デフォルトの名無しさん2008/11/07(金) 07:36:20
ん?(笑)悔しかったの?(笑)
得意げに(笑)とか使っちゃって(笑)バーカみたい(笑)
0543デフォルトの名無しさん2008/11/07(金) 07:52:46
マルチスレッドのお作法みたいなのを学びたいんだけどいいサイトか何かない?
手探り状態でいろいろやっててかなりマズいことをしている気がする。
とりあえずウィンドウハンドルやファイルハンドルはオープンしたスレッド以外で操作やクローズするとバグるというのは経験した。
スレッド間通信はグローバル変数使って値が返るまでSleep(1)するという無茶苦茶なことをしているんで。
0544デフォルトの名無しさん2008/11/07(金) 07:52:53
てめー茶漬け返せw
0545デフォルトの名無しさん2008/11/07(金) 07:54:31
>>543
WaitForなんちゃらで待機用のオブジェクトがシグナルするまで待てば良いじゃない
0546デフォルトの名無しさん2008/11/07(金) 08:03:36
スレッド間通信ならWaitFor〜よりInterlocked〜を使った方がいい
0547デフォルトの名無しさん2008/11/07(金) 08:09:39
>>543
普通に本を一冊読んだ方がいいんじゃないか?
その僅か4行程度の書き込みで、あまりにも無知なことが伺えるし。
0548デフォルトの名無しさん2008/11/07(金) 09:29:34
バグる(笑)

バグると言っていい状態はファミコンのカセットずらしだけ
0549デフォルトの名無しさん2008/11/07(金) 09:36:18
得意げに(笑)とか使っちゃってバーカみたい
0550デフォルトの名無しさん2008/11/07(金) 10:56:34
知らないならレスしないで下さい。ウザイだけです。
0551デフォルトの名無しさん2008/11/07(金) 10:58:13
お前も知らないんだからレスしないでください。ウザイだけです。
0552デフォルトの名無しさん2008/11/07(金) 10:59:04
知ってますよ?
0553デフォルトの名無しさん2008/11/07(金) 11:00:05
すでにご存知なら、回答する必要はありませんね?
0554デフォルトの名無しさん2008/11/07(金) 11:15:05
いえ僕は知ってるって事を知ってるのです。
0555デフォルトの名無しさん2008/11/07(金) 14:23:34
アプリケーションインスタンスが破棄されるときに解放されると明示されているハンドル等は一切解放コードを書かないですか?
0556デフォルトの名無しさん2008/11/07(金) 14:26:52
たいてい書きます。俺は。
0557デフォルトの名無しさん2008/11/07(金) 14:40:42
たいてい書くね
0558デフォルトの名無しさん2008/11/07(金) 14:46:48
すんません。昨日のおばかですが教えてください。

DLLからアプリのハンドルを取得してそのアプリにSendMessageすると
ちゃんとアプリにメッセージ届きますか?
なんかアプリ側にメッセージきてないみたいなんですが・・・
0559デフォルトの名無しさん2008/11/07(金) 15:03:29
まじかるばなな。ばななといったら、に〜んじん。
0560デフォルトの名無しさん2008/11/07(金) 15:40:32
>>558
spy++で確認して下さい
0561デフォルトの名無しさん2008/11/07(金) 15:46:23
>>558
どうせSendMessageの前にハンドルが取れてないというオチだと思われます。
0562デフォルトの名無しさん2008/11/07(金) 15:48:18
知らないならレスしないで下さい。ウザイだけです。
0563デフォルトの名無しさん2008/11/07(金) 17:23:08
>アプリのハンドル
どのハンドルですか
0564デフォルトの名無しさん2008/11/07(金) 19:04:12
知らないならレスしないで下さい。ウザイだけです。
0565デフォルトの名無しさん2008/11/07(金) 19:05:52
あ
0566デフォルトの名無しさん2008/11/07(金) 19:08:03

∩  /⌒ヽ,      うるせぇえええええ  ̄_ ̄)’,  ・ ∴.'  .. ∧_∧ ∴.'
| |  / ,ヘ  ヽ∧_∧      --_- ― = ̄  ̄`:, .∴)'     ((( >>1 )
| | .i l \ (  ´Д`)ヽ, _,-'' ̄  = __――=', ・,‘ r⌒>  _/ / ・,‘
| |ニヽ勿  ヽ,__    j  i~""  _-―  ̄=_  )":" .  ’ |y'⌒  ⌒i .'  ∴.'
∪       ヽ,, / / __,,, _―  ̄_=_  ` )),∴. ) |  /  ノ |∴.'∴.'
       ヽノ ノ,イ     ―= _ ) ̄=_)   _), ー'/´ヾ_ノ
       / /,.  ヽ,        _ _ )=  _) ,./ ,   ノ  ∴.'  ∴.'
      丿 ノ ヽ,__,ノ           = _)   /  / /∴.' ∴.'
      j  i                      / / ,'
     巛i~                      /  /|  |
                            !、_/ /   )
                                |_/
0567デフォルトの名無しさん2008/11/07(金) 19:32:56
なぜ>>1?
0568デフォルトの名無しさん2008/11/07(金) 19:41:02
ちゃんとアプリにメッセージ届きます
0569デフォルトの名無しさん2008/11/07(金) 19:46:35
>>567
ミスりました
0570デフォルトの名無しさん2008/11/07(金) 20:58:00
>>1に謝ってください
0571デフォルトの名無しさん2008/11/07(金) 20:59:41
こめんぷー^p^
0572デフォルトの名無しさん2008/11/07(金) 20:59:43
すみません…
0573デフォルトの名無しさん2008/11/07(金) 21:14:07
なんか、C#スレといいキモイのが湧いてるな。

質問者はともかく、荒らしはスルーしろよ。スレが荒れるだろ。
0574デフォルトの名無しさん2008/11/07(金) 23:24:57
↑スルーできないバカ登場
0575デフォルトの名無しさん2008/11/08(土) 00:39:43
APIのことをアピって言ったら笑われたんだけど、普通アピって言いますよね
0576デフォルトの名無しさん2008/11/08(土) 00:45:27
俺はエーピーアイって言っている。
0577デフォルトの名無しさん2008/11/08(土) 00:46:39
おれはエイプアイって言ってる
0578デフォルトの名無しさん2008/11/08(土) 00:55:13
MAPI は まぴ
0579デフォルトの名無しさん2008/11/08(土) 04:03:42
Get/WritePrivateProfileを今更使うのってどうよ
推奨されてないようだけどレジストリも汚したくないし自前で関数準備するのもマンドクセ('A`)
0580デフォルトの名無しさん2008/11/08(土) 04:09:19
また水掛け論の悪寒
0581デフォルトの名無しさん2008/11/08(土) 04:26:32
Get/WritePrivateProfileを今更使う奴は馬鹿
階層化できないしデータ型もセキュリティもロクに無いし、
そもそもWin16時代の後方互換で残ってるだけだからAPI仕様が腐ってる

てかWin95発売から10年以上になるのに未だ大多数の国産フリーソフトでINI使ってるのが正直信じられない
どんだけ時代遅れのオッサンプログラマが多いんだよ・・・
0582デフォルトの名無しさん2008/11/08(土) 04:27:48
俺はC#使う時でもINI書いてるけどな
XmlSerializerのバグがウザ過ぎる

7でも無くならないんだろ?どうせ…
0583デフォルトの名無しさん2008/11/08(土) 04:34:12
レジストリに触るとキレる人も多いからねぇ。
0584デフォルトの名無しさん2008/11/08(土) 04:51:57
なんでレジストリを毛嫌いする人がいるんだろう
勝手に関連付け変更されるとさすがに嫌だけど、HKCU\Software以下に設定を保存するくらいなら何も無いのに
まあ正直そんな連中は無視でいいと思うよ
レジストリが嫌なら一生Windows3.1でも使ってればいいのにね
0585デフォルトの名無しさん2008/11/08(土) 04:59:22
サンクスコ
致命的な問題も無さそうですし小さいアプリなんでiniファイル使う事にします
セキュリティも気になってはいましたけど、そもそもそこまで使われるとも思えないソフトなので('A`)
0586デフォルトの名無しさん2008/11/08(土) 05:09:30
iniの最大の問題点は「どこにファイルを配置するか」だな
問答無用でexeのフォルダやWindowsフォルダに置くソフトは論外だが、
Application Data以下に置くぐらいなら結局レジストリ使うのと大差無いからなあ
0587デフォルトの名無しさん2008/11/08(土) 06:40:56
>>586
レジストリが肥大化するとOSの起動が遅くなるって嫌がる人がいるから
俺はなるべくAppDataに放り込むようにしてるよ。
0588デフォルトの名無しさん2008/11/08(土) 07:34:32
レジストリの肥大化でOSの起動が遅くなるっていつの時代の話だよw
そりゃ何十MBもレジストリに書きこめば遅くなるかもしれんが貧乏性すぎだろ
0589デフォルトの名無しさん2008/11/08(土) 07:42:24
そういって開発性優先した挙句、重くなったのが窓やflashやjavaアプリ
0590デフォルトの名無しさん2008/11/08(土) 07:46:59
↑レジストリの肥大化とソフトの肥大化を同列に語る馬鹿
0591デフォルトの名無しさん2008/11/08(土) 07:52:24
「レジストリを嫌がる人がいる」とか言ってる本人がレジストリ否定論者そのものなんだろうねぇ
0592デフォルトの名無しさん2008/11/08(土) 07:55:34
XXXであるという人もいる
XXXであるといっていた友人がいる
XXXであるという世間の声もあるようだ


0593デフォルトの名無しさん2008/11/08(土) 07:57:02
設定のバックアップが容易かどうかが重要で、レジストリを使う場合はそれを考慮しないと嫌がられる
0594デフォルトの名無しさん2008/11/08(土) 07:59:27
XXXであるというのが多数派だ
XXXであるという見解が常識だ
0595デフォルトの名無しさん2008/11/08(土) 08:08:36
>>583
レジストリに触られるとキレるんですね

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

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

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

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

こうですか><
0596デフォルトの名無しさん2008/11/08(土) 10:07:35
INIの利点はUSBメモリに入れて同じ環境設定を
共有できる。素晴らしい事じゃないか。
0597デフォルトの名無しさん2008/11/08(土) 10:42:18
どうせそのうちWindowsごと再インストールするんだから、
レジストリを汚していくソフトも気にならなくなった。
0598デフォルトの名無しさん2008/11/08(土) 10:42:22
INIじゃなくてもいいだろ。
0599デフォルトの名無しさん2008/11/08(土) 11:13:01
XMLだと、タグの対応とかめんどいし、文字によってはエスケープしないとダメだったり。
その点、INIファイルはお手軽でいいんだよな。
0600デフォルトの名無しさん2008/11/08(土) 11:28:27
ちょっとした設定ならiniで悪いってこともないと思う
どうしても階層が深くなってしまうようなのがある時にはxml使ったりもするけど
でも最近は例外処理が楽なんでSQLiteにしてる
0601デフォルトの名無しさん2008/11/08(土) 11:35:44
>>599
XMLのそこらへんのめんどい所って全部ライブラリに任せるとこだろ。
でも、そういうライブラリがなくても何とかなるという意味でINIが手軽というのはその通りだと思う。
0602デフォルトの名無しさん2008/11/08(土) 11:40:24
メモ帳で簡単に編集出来るからね。
0603デフォルトの名無しさん2008/11/08(土) 12:31:57
すかすXMLパーサってどれも重い
0604デフォルトの名無しさん2008/11/08(土) 12:59:30
>>575
アピwwwwwwwwwwww
いわねーよwwwwwww

エーピーアイだろ
0605デフォルトの名無しさん2008/11/08(土) 13:08:34
知り合いの米国人はエピとかアピとかって発音するな。
あいつらは好き勝手に発音する。正しい読み方なんて全然気にしない。
0606デフォルトの名無しさん2008/11/08(土) 15:34:53
文字描画に関する質問です。

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

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

SetTextColorだと全体的に白くなってしまうので。
0607デフォルトの名無しさん2008/11/08(土) 15:37:43
大きさと色を変えるとかちょっとずらして二回かく
0608デフォルトの名無しさん2008/11/08(土) 16:22:25
二回でもいいけど
上下左右にずらして白く書いて
とどめに真ん中に黒く書くとそれらしくなるよ

DrawThemeTextEx使うと一発だけど
06096062008/11/08(土) 16:51:03
>>607-608
DrawThemeTextExってのがあるのですか。
まだよくわからないのですが調べてきます。
ありがとうございます。
0610デフォルトの名無しさん2008/11/08(土) 17:07:24
そしてXP以上かつテーマ有効でないと使えないということにorzするのだよ。
0611デフォルトの名無しさん2008/11/08(土) 17:17:45
Minimum operating systems Windows Vista

ってmsdnに書いてあるけど?
0612デフォルトの名無しさん2008/11/08(土) 17:41:03
問題無い。これからはVistaの時代だ。
0613デフォルトの名無しさん2008/11/08(土) 17:50:15
>>608
五回でもいいけど
八方向にずらして白く書いて
とどめに真ん中に黒く書くともっとそれらしくなるよ
06146102008/11/08(土) 18:38:07
>>611
ちょww、俺がorzじゃないか
0615デフォルトの名無しさん2008/11/08(土) 19:37:50
>>613
いちいち九回も書いていたら相当重くなりそうだが
0616デフォルトの名無しさん2008/11/08(土) 21:05:02
「スレッド」や「スレッドの中のイベント」をCloseHandleする場合はどこでやればいいんでしょうか?
CreateThreadと_beginthreadexのどちらを使うかでハンドルを閉じるべき場所が変わったりするんでしょうか?
06176062008/11/08(土) 21:28:55
>>610-614
わぉ・・・、後で調べようと思ってたらwwww
Vistaからなのかぁ・・・。
0618デフォルトの名無しさん2008/11/08(土) 21:33:14
おろ
てっきり「自分のもvistaなので全然大丈夫です」とかいう
旧機種を使い続ける者にとっては少々ムカつく答えがかえってくると思ったのに
0619デフォルトの名無しさん2008/11/08(土) 21:45:23
>>616
ケースバイケース
0620デフォルトの名無しさん2008/11/08(土) 21:51:44
CloseHandle(CreateThread(...));
だろjk
0621デフォルトの名無しさん2008/11/08(土) 21:57:28
行儀がよくないw
0622デフォルトの名無しさん2008/11/08(土) 21:59:39
>>620

それだとスレッド作ったらすぐ終わるのでは?
スレッドが動いてるときにclosehandleしても大丈夫なんでしょうか?
0623デフォルトの名無しさん2008/11/08(土) 22:01:18
終わらないよ
MSDNのCreateThreadの項目よく見て来い
0624デフォルトの名無しさん2008/11/08(土) 22:08:22
知らぬならレスしないで下さい
0625デフォルトの名無しさん2008/11/08(土) 22:17:45
コントロールパネルを作りたいのですが、

方法を教えてください。

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

0626デフォルトの名無しさん2008/11/08(土) 22:26:55
>>625
コントロールパネルに表示される項目を作りたいというならこれ。
http://msdn.microsoft.com/en-us/library/cc144185.aspx
コントロールパネルを表示させたいというだけなら、ただのシェルフォルダとして扱えばいい。
0627デフォルトの名無しさん2008/11/08(土) 22:39:22
>>626
コントロールパネルのようなアプリを作りたいのでは?
*.cplを列挙してアイコンと説明を表示して・・・、みたいな
0628デフォルトの名無しさん2008/11/08(土) 22:52:50
>>623

CreateThreadでも_beginthreadexでもハンドルを使わないなら作った直後にclosehandleがよいということ?
スレッドのハンドルを閉じてもスレッド間で共有してるグローバル変数は使用可能なんでしょうか?
0629デフォルトの名無しさん2008/11/08(土) 22:59:33
少しは自分で試せハゲ
0630デフォルトの名無しさん2008/11/08(土) 22:59:48
MSDNを読む気が全く無いと見た
06316282008/11/08(土) 23:01:24
>>629-630

あなた達のような人に偉そうに言われる筋合いはありません
0632デフォルトの名無しさん2008/11/08(土) 23:01:52
OH!
0633デフォルトの名無しさん2008/11/08(土) 23:02:50
スルーしとけ
また何かある度に聞きに来るようになるぞ
0634デフォルトの名無しさん2008/11/08(土) 23:11:47
いや、別に聞きに来るのは構わないだろ。誰だろうと質問なら答える。

ただ、そのうちここで聞くより一次的な情報源を自分で漁ったほうが
早く答えを見つけられるようになるだろうに、それを捨てるのは
あなた(>>628)にとって惜しいことではないだろうかというだけのこと。
0635デフォルトの名無しさん2008/11/08(土) 23:17:21
>>622
Advanced Windowsに書いてあるところの、
CloseHandleをスレッドハンドルに対して使用すると、スレッドを終了させるという、
不思議な思い込みをしている奴って本当にいるんだな。

やっぱりCloseって名前がいけないのかな。
0636デフォルトの名無しさん2008/11/08(土) 23:32:44
他のハンドルはClose=破棄が多いから
まあ分からんでもない
0637デフォルトの名無しさん2008/11/08(土) 23:40:55
いや、他のハンドルだって、参照カウンタを減らすだけじゃん。
結果として大抵の場合は(名前つきとかduplicateとかはまず使わんし)破棄になるけれど。
0638デフォルトの名無しさん2008/11/08(土) 23:42:35
628ですが、631は別人。

>>630

MSDNみてもいつclosehandleすれば良いかは書いてなさそうなんですが。
0639デフォルトの名無しさん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.
0640デフォルトの名無しさん2008/11/08(土) 23:47:23
スレッド終了待ちにhandleは使うから結局閉じるのは終了後になると思うけど
0641デフォルトの名無しさん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.
0642デフォルトの名無しさん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. ……
0643デフォルトの名無しさん2008/11/08(土) 23:49:23
>>640
まあそうなんだけどね。
0644デフォルトの名無しさん2008/11/08(土) 23:50:25
だから行儀がよくないって言ったのに
0645デフォルトの名無しさん2008/11/09(日) 00:58:23
ポップアップメニューについて質問させてください。
普通にTrackPopupMenu()を使うと
下みたいな左に縦線付きのメニューがでるのですが、

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

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

こんな感じの↓
. 切り取り (T)
. コピー (P)
0646デフォルトの名無しさん2008/11/09(日) 05:41:00
はぁ?
0647デフォルトの名無しさん2008/11/09(日) 06:24:11
はぁ!
0648デフォルトの名無しさん2008/11/09(日) 06:26:28
ポップアップメニューの背景を消したいって意味か?
どうせならjpgで
0649デフォルトの名無しさん2008/11/09(日) 06:54:03
. 切り取り (T)
. コピー (P)

こんなメニューの出るソフトは嫌だな
貼り付け(P) とニーモニック衝突してるじゃん
0650デフォルトの名無しさん2008/11/09(日) 07:57:22
moto ni Modosu (M)
-----------
kiriTori (T)
koPii (P)
haRitsuke (R)
sakuJo (J)
-----------
suBete sentaku (B)
0651デフォルトの名無しさん2008/11/09(日) 08:09:19
単なる例だろよw
突っかかるなよw
0652デフォルトの名無しさん2008/11/09(日) 08:12:57
>>646-651
知らないならレスしないでください
0653デフォルトの名無しさん2008/11/09(日) 08:21:25
ここまでテンプレ
0654デフォルトの名無しさん2008/11/09(日) 08:26:28
>>645
もしかしてVistaのメニュー?
あれが普通のシステムが生成してるメニューで
CMDにでるメニューは独自実装のメニューもどきじゃねーの?
0655デフォルトの名無しさん2008/11/09(日) 08:50:59
Vistaしか使ったことない奴がプログラマになる時代なのか・・・
0656デフォルトの名無しさん2008/11/09(日) 09:12:21
結構見慣れてくると分からんよ。

654が指摘するまでVistaのメニューの事だと気づかんかった。
0657デフォルトの名無しさん2008/11/09(日) 10:52:47
vistaマシンなんていまだに店頭でしか触った事ないぜ
0658デフォルトの名無しさん2008/11/09(日) 11:11:35
その空間はチェックマージン、アイコンイメージマージンと言ってだな
0659デフォルトの名無しさん2008/11/09(日) 11:27:26
VistaだとメニューにSetMenuItemBitmapsで32bitでアイコン描けるんだぜ
0660デフォルトの名無しさん2008/11/09(日) 12:11:32
>>659
MENUITEMINFO::hbmpItemのことか?
アイコンじゃなくてビットマップだろ

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

ぶっちゃけオーナードローだけで済んだXPまでの方が楽つーかこれ考えた奴馬鹿だろ
0661デフォルトの名無しさん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で開発しろと言わんばかりのソースだな・・・
0662デフォルトの名無しさん2008/11/09(日) 13:20:22
言わんばかりじゃなくてそう言ってんだと思うぜw
0663デフォルトの名無しさん2008/11/09(日) 13:39:01
.NETのメニューはかなり自由度が高いからな

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

同じ事をWin32だけで行うとなるとメニューのウィンドウを自作する所から必要だな
0664デフォルトの名無しさん2008/11/09(日) 14:09:31
>>648
jpg上げました。
ttp://upload.fam.cx/cgi-bin/img-box/y6z81109135952.jpg

ちなみに、コマンドプロンプトというのは、cmd.exeの事です。
cmd.exeに限らず、Vistaで動かしても縦線のないポップアップメニューをだす
ソフトをたまに見かけるので、聞いてみました。
0665デフォルトの名無しさん2008/11/09(日) 14:13:38
メニューのプロパティで何か指定できんのかな?
ちょっと見てみっか
0666デフォルトの名無しさん2008/11/09(日) 14:17:10
ヒント: Theme
0667デフォルトの名無しさん2008/11/09(日) 14:40:52
ある1つのボタンの背景色のみを変えたいのですが、
オーナー描画ボタン(BS_OWNERDRAW)しか手段はないのでしょうか?
システムカラーは全ての色が変わってしまうみたいですし。

少し調べてみた限りわからなかったため質問させていただきました。
環境:XP、Visual C++
0668デフォルトの名無しさん2008/11/09(日) 14:53:04
クラシックなら変わるよ
0669デフォルトの名無しさん2008/11/09(日) 15:21:21
>>664
マジでVistaしか使ったこと無いみたいだな
もしかして小学生?
0670デフォルトの名無しさん2008/11/09(日) 15:23:14
InternetSetOptionで登録したユーザ名やパスワードって変更できないの?
無効のID/PASSから有効なID/PASSに変更ならできるけど、有効なID/PASSから無効なID/PASSに
変更しても有効な時のID/PASSが使われるんだけど、どうしたら再度無効な状態に戻せるの?
0671デフォルトの名無しさん2008/11/09(日) 17:35:28
>>669
ねんちょうだよ
0672デフォルトの名無しさん2008/11/09(日) 18:31:55
おれはねんちゅうだよ
りゅうねんして30ねんめだけど
0673デフォルトの名無しさん2008/11/09(日) 20:10:11
ちゅう…ねん…?
0674デフォルトの名無しさん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
0675デフォルトの名無しさん2008/11/09(日) 22:36:55
まぁ逆に言えばオーナードローしてるとVistaでメニューだけクラシックになって違和感あるけどな
0676デフォルトの名無しさん2008/11/09(日) 22:44:46
>>674
見てますよ〜
英語が読めないのと.NETって書いてあったので
ちら見しかしてなかったんですが、
書き込みした後、じっくり読むうちにかなり重要な情報と気づきましたw
MF_OWNERDRAW?というのを使うと、なんとかできそうな目処も立ちました。
ちなみに、小学生じゃないです。
ニートです。
ありがとでした。 >>661
0677デフォルトの名無しさん2008/11/09(日) 22:47:55
>>675
その違和感あるクラシックにしたいというのが>>676の望みだそうだ。
0678デフォルトの名無しさん2008/11/10(月) 00:15:40
ヒント無視かよ!
0679デフォルトの名無しさん2008/11/10(月) 00:29:42
なんでわざわざクラシックにしたいのかねぇ
cmd.exeのメニューがクラシックなのはこいつのプロセスにVisualStyleが適用できないからだし、
オーナードローでクラシックなのは単にそのアプリがVistaを考慮してないだけじゃないか

そんなにクラシックがいいならAeroやThemeを切れば済むだろうに
0680デフォルトの名無しさん2008/11/10(月) 00:45:05
Vista以外で面倒なことになるから、標準の物は気にせず使うのが一番いい。
くだらない事に時間をかけるのは、
06816672008/11/10(月) 00:45:42
あれ?これは簡単すぎる事だから、
自分でもっと調べろって事で放置されてるのですかい?
0682デフォルトの名無しさん2008/11/10(月) 00:50:27
>>681
.NETでも使っておけw
0683デフォルトの名無しさん2008/11/10(月) 01:11:04
>>681
オーナードローでいいんじゃない。
放置されてんのはおっきな釣針がぶら下がっていただけ。
気を悪くしたのなら済まない。
0684デフォルトの名無しさん2008/11/10(月) 01:12:39
ボタンのカスタムドロー(≠オーナードロー)ってできなかったっけ?
0685デフォルトの名無しさん2008/11/10(月) 01:16:46
bitmapでも貼れば?

だがエッジの色はそのまんまで文字も埋もれた('A`)
ttp://www2.vipper.org/vip984732.png.html
w2k, mingw
0686デフォルトの名無しさん2008/11/10(月) 01:22:17
XPのボタンだと描画するタイミングでNM_CUSTOMDRAWが来るみたい
てことはNMCUSTOMDRAW::hdcにゴニョゴニョしたらできると思われ
0687デフォルトの名無しさん2008/11/10(月) 01:22:29
質問よろしくお願いします。
SetFileAttributesやCFile::SetStatusで
フォルダの更新日時を変更使用と思ったのですが、
「アクセスが拒否されました」となります。

フォルダの属性の変更をどうやって達成できますか?

環境はXP、VC++です。
0688デフォルトの名無しさん2008/11/10(月) 01:24:10
アクセス許可を与えればいいじゃないですか
エラーの指示に従ってください
0689デフォルトの名無しさん2008/11/10(月) 01:25:54
>>667
>環境:XP、Visual C++

>>687
>環境はXP、VC++です。


同一人物?
0690デフォルトの名無しさん2008/11/10(月) 01:28:20
>>689
XPかつVC++ってそんなに珍しいのか?
0691デフォルトの名無しさん2008/11/10(月) 01:35:14
1. 書き方が同じ

XPPro sp3+VC2005Proです
開発環境はWindows XP Home Edition、Visual C++ 2005 Express Editionです

とか、他にも書き方はある

2. >>687=>>681(=>>667)ならば時間的に合致する
0692デフォルトの名無しさん2008/11/10(月) 01:40:03
>>689>>691
残念でした。不正解で〜す。
0693デフォルトの名無しさん2008/11/10(月) 01:40:47
で、同一人物だったら何なの?
0694デフォルトの名無しさん2008/11/10(月) 01:46:41
同一人物ならば二度と来ないでいただきたい。
同一人物でないならば言うことは何も無い。
0695デフォルトの名無しさん2008/11/10(月) 01:48:41
>>694
お前にそんなこと言う資格はない
お前が来ないでください
0696デフォルトの名無しさん2008/11/10(月) 01:50:56
同一人物というのは図星のようだな
0697デフォルトの名無しさん2008/11/10(月) 01:54:06
なんかアブナイ人だなあ
0698デフォルトの名無しさん2008/11/10(月) 02:03:26
PCヲタク
プログラマー
2ちゃんねらー

世間的には充分「アブナイ人」だろw
0699デフォルトの名無しさん2008/11/10(月) 03:57:58
PGは変な人多いけど危険ではないよ
0700デフォルトの名無しさん2008/11/10(月) 07:14:39
複数ペインがあるアプリケーションを作りたいのですが、
子ウインドウを2つ作ってウインドウの間をドラッグしたら
ウインドウのサイズを変更する関数を実行するくらいしか思いつきません。
何か良い手はないでしょうか。よろしくお願いします。
07016872008/11/10(月) 07:31:41
667の方とは別の人物です。

書き方が紛らわしくてスイマセン。
上の人の質問を見て、書かないといけないのかなと思ったので…。

>>688さん
ありがとうございます。アクセス許可ですか。
ファイル自体は上記の手法でも変更できてるんですけどね。
フルコントロールにしてないとフォルダは変更できないのですかね。

ちょっとやってみます。
0702デフォルトの名無しさん2008/11/10(月) 08:26:04
VBでやれ時間の無駄だ
生産性が落ちる
でなければ帰れ
0703デフォルトの名無しさん2008/11/10(月) 08:44:58
こりゃまたデカい釣り針ですね
0704デフォルトの名無しさん2008/11/10(月) 08:54:28
>>701
エクスプローラとかでそのフォルダ開いてない?
0705デフォルトの名無しさん2008/11/10(月) 10:48:52
XPのエクスプローラってハンドルリークしてるのかよくフォルダが削除できなくなったりするからなぁ
0706デフォルトの名無しさん2008/11/10(月) 19:53:27
どなたか700をよろしくお願いします。
0707デフォルトの名無しさん2008/11/10(月) 20:08:47
嫌です。帰ってください。
0708デフォルトの名無しさん2008/11/10(月) 20:18:01
>>706
スプリッタウィンドウで検索
07096672008/11/10(月) 20:57:03
>>682-686
ふむふむ、ありがと。
ちょっちカスタムドローっての見てくるわさ。

>>683
色変えるだけでオーナードローってめんどくさそうな感じがしたので。
0710デフォルトの名無しさん2008/11/10(月) 21:03:15
おれ頭悪くて>>700のようなものを自作したら変な挙動のしかできなかった
親窓が固定サイズならいいけど
をリサイズした時どうすべきか

______
| | |というウィンドウを
~~~~~
______________
| |     |広げて
~~~~~~~~~~~
______________
|     | |ペインを移動て
~~~~~~~~~~~

______________
|     | |サイズを元に戻す時どうすべきか
~~~~~~~~~~~
     ←?

0711デフォルトの名無しさん2008/11/10(月) 21:08:38
>>710の続き

あと、元に戻せたとして、
______
| | | これをもういっかい広げたら
~~~~~
______________
| |     | こうなるのか
~~~~~~~~~~~
______________
|     | | こうなるべきか
~~~~~~~~~~~
Outlookでは後者なんだな
どうなっとんじゃ

それと、
_________
| | | | ペインが複数あったらどうすんの
~~~~~~~

まあでも、これ書いてたらなんかひらめきそうになったからいいや
0712デフォルトの名無しさん2008/11/10(月) 21:12:10
どうするも何もお前さんの実装しだいだろとしか言いようが…
0713デフォルトの名無しさん2008/11/10(月) 21:12:46

  ______________
  | | ・ω・ |
  ~~~~~~~~~~~


0714デフォルトの名無しさん2008/11/10(月) 21:14:39
比率を維持するのとか
いろいろありますな
0715デフォルトの名無しさん2008/11/10(月) 21:14:52
WTL使え
0716デフォルトの名無しさん2008/11/10(月) 21:24:04
日記書いてる馬鹿とそれに釣られる馬鹿
0717デフォルトの名無しさん2008/11/10(月) 21:32:57
一瞬、テトリスの作り方教えてください
かと思った
07187012008/11/10(月) 21:39:47
>>704さん
一応現在の作業プロジェクト以外対応してないんです。

どうやらフルコントロールも上手く行かないようなので、
どうしたものでしょうか…。

フォルダのハンドルをどうにかして取得して、
そのハンドルをつかって無理やり変更…とかできるのかなぁ。
0719デフォルトの名無しさん2008/11/10(月) 21:49:21
誰かがそのファイルが開いているせいじゃないの?
0720デフォルトの名無しさん2008/11/10(月) 21:51:06
なんだかわからんプロセスがファイル握ってて、
今起動しているアプリ全部閉じたり再起動すると直ってる
という現象がたまにあるな
0721デフォルトの名無しさん2008/11/10(月) 23:37:45
タスクトレイの自分のアイコン上にマウスカーソルがきたら
自動でメニューを開きたいのですが、
タスクトレイの自分のアイコンの位置って、どうやって得るのでしょうか?
0722デフォルトの名無しさん2008/11/10(月) 23:44:33
>マウスカーソルがきたら

じゃあカーソルの位置でよくね?
0723デフォルトの名無しさん2008/11/10(月) 23:58:14
NotifyIcom_MouseMoveでContextmenu.Showといきたかったが
色々あって結局TrackPopupMenu
0724デフォルトの名無しさん2008/11/10(月) 23:58:56
Icomって何だよ…orz
0725デフォルトの名無しさん2008/11/10(月) 23:59:58
いやだからGetCursorPosで駄目な理由って何?
0726デフォルトの名無しさん2008/11/11(火) 00:02:40
>>722 >>725
?
それで、カーソルがタスクトレイの自分のアイコンの上にあるかどうかは
どうやって判定するんでしょう?


>>721を別の言い方に直すと、
タスクトレイの自分のアイコンの上にマウスカーソルが
きたことを知る方法は?という事です。
0727デフォルトの名無しさん2008/11/11(火) 00:03:21
WM_MOUSEMOVEじゃね?
0728デフォルトの名無しさん2008/11/11(火) 00:04:28
>>726
マウスフックすりゃいいんじゃね?
0729デフォルトの名無しさん2008/11/11(火) 00:05:30
カーソルがきた時の通知イベントあるよ
Shell_NotifyIcon見直せ
0730デフォルトの名無しさん2008/11/11(火) 00:12:12
できました!
なぜかWM_MOUSEMOVEがこないと思い込んでました。
ありがとうございました。
0731デフォルトの名無しさん2008/11/11(火) 05:45:38
>>726
間違っています。
以上。
↓次どうぞ
0732デフォルトの名無しさん2008/11/11(火) 06:21:01
> タスクトレイの自分のアイコン上にマウスカーソルがきたら
> 自動でメニューを開きたいのですが、

そもそもこんなUIが設計として間違ってる
0733デフォルトの名無しさん2008/11/11(火) 07:18:46
>>718
Unlockerでファイルハンドルを握っているプロセスを確認できる
エクスプローラの変なアドオンが握っている気もするがな
0734デフォルトの名無しさん2008/11/11(火) 07:32:05
つか、ディレクトリのハンドルはどうやって取得してんの?
0735デフォルトの名無しさん2008/11/11(火) 07:52:49
APIで取得しています
0736デフォルトの名無しさん2008/11/11(火) 10:46:47
自分でつかんでるからできないのでは
0737デフォルトの名無しさん2008/11/11(火) 11:13:26
知らないならレスしないで下さい。ウザイだけです。
0738デフォルトの名無しさん2008/11/11(火) 11:24:05
ってリネームじゃなくて更新日時か。更新日時は通常0にしないと操作できんべ。
0739デフォルトの名無しさん2008/11/11(火) 11:26:57
って代用だけど解決策あったけど>>737がうざいから書くのやめた
0740デフォルトの名無しさん2008/11/11(火) 11:54:15
知らないなら言い訳しないで下さい。ウザイだけです。
0741デフォルトの名無しさん2008/11/11(火) 13:52:27
知らない奴に限って>>739みたいな事を言うよね。このクズは絶対にわかってないとおもうw
0742デフォルトの名無しさん2008/11/11(火) 13:58:57
そうやって答えを引き出そうとしても無駄だよ。
0743デフォルトの名無しさん2008/11/11(火) 14:08:08
無駄なことが好きらしいから、そっとしておいてやれ。
0744デフォルトの名無しさん2008/11/11(火) 14:21:18
>>740-741
おまえらもいい加減うぜぇ。
0745デフォルトの名無しさん2008/11/11(火) 15:17:04
>>687とウザイ言ってるのは別の人か。
ヒントやるよ、MFCのCFile::SetStatus()じゃ無理。
0746デフォルトの名無しさん2008/11/11(火) 15:19:00
static関数の方ね
0747デフォルトの名無しさん2008/11/11(火) 15:32:41
これから変えようとしているディレクトリを
そのアプリケーションがカレントに設定してるんじゃまいか?
なんかのプロセスがカレントにしてると作成/更新日時を変更できないのは確認した
0748デフォルトの名無しさん2008/11/11(火) 15:54:52
知らないなら言い訳しないで下さい。ウザイだけです。
0749デフォルトの名無しさん2008/11/11(火) 16:14:50
まだいるのかよ、お前はこのスレからも世の中からも必要とされてないんだよ。
0750デフォルトの名無しさん2008/11/11(火) 17:07:26
>>745
> FILE_FLAG_BACKUP_SEMANTICS
何が偉そうに「ヒントやるよ」だよw
そんなのググってすぐに見つかるしMSDNのCreateFile見れば書いてある事じゃん

知らないのに無理しなくていいよ。必死すぎて痛々しい。
0751デフォルトの名無しさん2008/11/11(火) 17:08:52
知らないならレスしないで下さい。ウザイだけです。
0752デフォルトの名無しさん2008/11/11(火) 17:11:39
知らない奴に限って>>750みたいな事を言うよね。このクズは絶対にわかってなかったとおもうw
0753デフォルトの名無しさん2008/11/11(火) 17:13:00
知らないなら言い訳しないで下さい。ウザイだけです。
0754デフォルトの名無しさん2008/11/11(火) 17:15:23
>>732
いや、クリック減るし、これは流行ると思う。
クイック起動並の快適さ。
0755デフォルトの名無しさん2008/11/11(火) 17:21:04
>>754
マウス操作しか考慮していないアプリはゴミ
0756デフォルトの名無しさん2008/11/11(火) 17:23:46
>>687はFILE_FLAG_BACKUP_SEMANTICSは知ってるんじゃね?
ディレクトリのハンドルは取得できてるみたいだし
0757デフォルトの名無しさん2008/11/11(火) 17:23:51
なんで考慮してないってことになるんだろう・・・
0758デフォルトの名無しさん2008/11/11(火) 17:25:36
マウスホバーでメニューはいいが、
MOUSEMOVEでピョコピョコ出てくるのはウザいな。速攻設定Off
0759デフォルトの名無しさん2008/11/11(火) 17:28:13
>>758
別にピョコピョコ出るわけじゃないけど。
きちんとポップアップする領域を設定してあげれば使いやすいと思うよ。
0760デフォルトの名無しさん2008/11/11(火) 17:30:14
それなら画面の四隅にマウス持っていったらメニューが出るようなのでいい
ランチャーとかでよくあるだろ
0761デフォルトの名無しさん2008/11/11(火) 17:31:38
よし、最近ショートカット覚えるのも面倒になってきたし
おれもチャレンジしてみる!
0762デフォルトの名無しさん2008/11/11(火) 17:32:38
おれもチャレンジしてみる!
0763デフォルトの名無しさん2008/11/11(火) 17:34:21
じゃあおれもチャレンジしてみる!
0764デフォルトの名無しさん2008/11/11(火) 17:35:04
つーかメニューはこの方式でも問題ない気がしてきたよ。
いちいちクリックさせるのって、そのうち旧式UIという認識になるんじゃないかと。
0765デフォルトの名無しさん2008/11/11(火) 17:35:17
タスクバーを自動的に隠すクイック起動でいいじゃん
0766デフォルトの名無しさん2008/11/11(火) 17:35:34
僕がピョコピョコです。
0767デフォルトの名無しさん2008/11/11(火) 17:36:00
>>760
あーOffice付属の糞ツールにそういうのあったな
墨占有されると邪魔なんだよな
0768デフォルトの名無しさん2008/11/11(火) 17:44:08
>>764
16x16程度の小さなアイコンがずらずら並んでる通知領域でみんながこんな方式を採用したら相当ウザイと思うが

てか通知領域って操作性悪すぎるよなー
解像度が低いとタスクバーが狭くなるし解像度が高いと相対的にアイコンが小さくなるし
通常右端にあるから、階層の深いサブメニューが右に左に出るし
0769デフォルトの名無しさん2008/11/11(火) 17:46:40
>>764
クリックしなくてもいい新UIの例
ttp://takagi-hiromitsu.jp/diary/20081110.html#p01
0770デフォルトの名無しさん2008/11/11(火) 17:50:18
タスクトレイの自アプリのアイコンにカーソル合わせるだけでも
イラつくのに、その上クリックさせるなんて拷問だよな
0771デフォルトの名無しさん2008/11/11(火) 17:50:58
タスクトレイ使うのをやめればいいんじゃね?
0772デフォルトの名無しさん2008/11/11(火) 17:53:53
>>769
Googleの個人情報収集好きは今に始まった事ではないだろ
0773デフォルトの名無しさん2008/11/11(火) 17:54:51
タスクトレイにマウス乗っけると出るチップヘルプの情報あてにしてるので、
あの時点でメニュー出るのはどうかな。
右クリックと左クリックで違う機能のも多いし、まだ操作を統一するのは無理か。
0774デフォルトの名無しさん2008/11/11(火) 17:55:41
>>769
それはアプリの作りの問題じゃないかと。
0775デフォルトの名無しさん2008/11/11(火) 17:57:49
>>771
おれいつもかちゅ〜しゃとか全画面で開いてるから、
空いてる場所がタスクバーしかない。
タスクトレイが快適になるならいいと思うよ。
0776デフォルトの名無しさん2008/11/11(火) 18:26:42
ユーザーの好きな方法でインターフェイスにアクセスできるなら
どこに何を置こうがポップするイベントがどんなだろうが関係ない
0777デフォルトの名無しさん2008/11/11(火) 18:39:54
まあ利便性を追求したと思ったら結局はプログラマの一人よがりだったりする罠。

Vistaさん。
0778デフォルトの名無しさん2008/11/11(火) 18:41:20
>>770
カーソル合わせてもボコらない昔のツールバーがそんな感じ。
0779デフォルトの名無しさん2008/11/11(火) 18:43:34
ホバーさせるほうが難しそう
0780デフォルトの名無しさん2008/11/11(火) 19:14:18
>>769
Googleのプログラマは優秀なはずだよね
するとこれは仕様通りってことか。だれだこんな仕様にしたやつぁ
0781デフォルトの名無しさん2008/11/11(火) 19:21:51
>>780
>>772
0782デフォルトの名無しさん2008/11/11(火) 19:23:54
>>781
だからなんなんです? 知らないならレスしないで下さい。ウザイだけです。
0783デフォルトの名無しさん2008/11/11(火) 19:42:02
>>782
そんなこと主張するだけにレスしないで下さい。ウザイだけです。
0784デフォルトの名無しさん2008/11/11(火) 19:51:25
質問です
拡張コンボボックスの背景色を変更するにはどうやればいいのでしょう?
普通のコンボボックスではWM_CTLCOLORSTATICやWM_CTLCOLORLISTBOXに応答すれば出来たのですが
拡張コンボボックスでは送られてこないようです
0785デフォルトの名無しさん2008/11/11(火) 20:55:35
まあ名前の通りなんだが
ttp://www.vector.co.jp/soft/winnt/util/se439651.html
0786デフォルトの名無しさん2008/11/11(火) 21:14:33
作者乙
0787デフォルトの名無しさん2008/11/11(火) 21:14:55
どういたしまして
0788デフォルトの名無しさん2008/11/11(火) 21:19:24
今までC++でコンソールで動くソフトを作っていましたが、このプログラムをそのままAPIで使えますか?

coutとかは変えないといけないと思いますが・・・
0789デフォルトの名無しさん2008/11/11(火) 21:22:25
> このプログラムをそのままAPIで使えますか?
こんな出鱈目な表現してる人には移植は無理だと思う
0790デフォルトの名無しさん2008/11/11(火) 21:28:07
Win32APIといえばよかったです・・・
0791デフォルトの名無しさん2008/11/11(火) 21:33:02
「コンソールで動くソフト」というのがDOSの16ビットアプリなのかWin32CUIアプリなのかにもよる
用語を正しく使って説明し直しましょう。
0792デフォルトの名無しさん2008/11/11(火) 21:33:58
知らないならレスしないで下さい。ウザイだけです。
07937922008/11/11(火) 21:35:13
誤爆
0794デフォルトの名無しさん2008/11/11(火) 21:40:03
>>791
VS2008で作ってるCUIなんですが・・・
0795デフォルトの名無しさん2008/11/11(火) 21:41:02
このプログラムをそのままWin32APIで使えますか?

に修正しても意味分かりません
0796デフォルトの名無しさん2008/11/11(火) 21:44:22
TCHARをchar型に変換するにはどうしたらいいの?
0797デフォルトの名無しさん2008/11/11(火) 21:49:12
>>796
それマジで言ったん?ソースあんならすぐ出せ
マジなら2ちゃんねら総力を上げて潰すが
0798デフォルトの名無しさん2008/11/11(火) 21:50:18
ワイド文字でぐぐれ
0799デフォルトの名無しさん2008/11/11(火) 21:51:06
>>797
総力ってお前誰だよ
今ふと思ったが
妙に「ねらー」とか「2ちゃんねら」とか言うの多いな
なんつうかν速慣れしてなそうな感じの
0800デフォルトの名無しさん2008/11/11(火) 21:52:52
>>795
例えばwaveファイルを読み込む関数があってfunc.cppに本体を記述、func.hにヘッダが書いてあります。

func.hをインクルードしてWinMainから読み込む関数呼び出したら正しく動きますか?

読み込む関数内ではcoutとか使ってるんですが・・・(allocation error!とかを表示)
0801デフォルトの名無しさん2008/11/11(火) 21:58:39
>>ALL-1
書き込まないで下さい。ウザイだけです。
0802デフォルトの名無しさん2008/11/11(火) 22:00:19
>>800
うまいなー
韜晦の仕方っていうか、もうこれ忍術じゃね?
0803デフォルトの名無しさん2008/11/11(火) 22:31:33
ここで質問していいことじゃないかもしれないけど、フォトショップってこれでつくれるの?
0804デフォルトの名無しさん2008/11/11(火) 22:50:52
どれですか?
0805デフォルトの名無しさん2008/11/12(水) 00:23:08
>>796

#ifdef UNICODE
wsprintfA(c,"%ls",t)
#else
wsprintfA(c,"%hs",t);
#endif
0806デフォルトの名無しさん2008/11/12(水) 00:31:17
>>805
間違いです
0807デフォルトの名無しさん2008/11/12(水) 00:54:20
>>806

;が足りない?
0808デフォルトの名無しさん2008/11/12(水) 01:23:59
796の書き方では、変換元が文字列かどうか断定できない。
単体の文字かもしれないでしょ。
0809デフォルトの名無しさん2008/11/12(水) 01:49:13
const TCHAR* src = _T("あ");
char* dest = string_cast<char*>(src);
printf("%s\n", dest);

こういうの作りたいけどまあ無理か
CT2AやT2Aがイマイチ気に食わないんだよな・・・
(とか言いつつ使ってるが)
0810デフォルトの名無しさん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));
}
0811デフォルトの名無しさん2008/11/12(水) 02:14:19
いやまあそうなんだけど
0812デフォルトの名無しさん2008/11/12(水) 02:22:26
OLEとかもここでいい?
0813デフォルトの名無しさん2008/11/12(水) 02:24:50
スレタイよんでくれないか
0814デフォルトの名無しさん2008/11/12(水) 02:31:24
すまなかった。邪魔したな。
0815デフォルトの名無しさん2008/11/12(水) 02:33:09
スレタイからしてありだと思うぞ、程度にもよるが。
0816デフォルトの名無しさん2008/11/12(水) 02:43:54
.NET → .NETスレへ
ActiveX → 知らん
OO4O → DB板へ
ODBC → DB板へ
COM → VBスレへ
OLE2 → 知らん
DirectX → ゲ製板へ
---------------------このスレのボーダーライン
OLE → どうなっても知らんぞ
Shell関係
ComCtl
Win32API

これでいい?
0817デフォルトの名無しさん2008/11/12(水) 02:46:50
>>816
そういう指標がテンプレにあると楽だね。
誘導も兼ねてるし。
0818デフォルトの名無しさん2008/11/12(水) 02:48:10
>COM → VBスレへ

馬鹿?
0819デフォルトの名無しさん2008/11/12(水) 02:50:30
>>818
じゃあどこよ?
おれはCOM関係はいつもVBの達人に聞いてるよ
0820デフォルトの名無しさん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が実装するものに関しては、
ここでもいいと思っている。ただ、答える人間がいるかどうかが問題。
0821デフォルトの名無しさん2008/11/12(水) 03:02:36
COMがVBとか頭悪すぎだろ
そんな奴が無理に仕切ろうとしなくてもいいよ
0822デフォルトの名無しさん2008/11/12(水) 03:04:56
>820&皆
夜遅くにthx。IEスレに書いてきた。
良かったら答えてやってくれ。
0823デフォルトの名無しさん2008/11/12(水) 03:48:26
525 2008/10/12(日) 14:12:10
526 2008/11/12(水) 03:01:30

過疎ってるスレだな・・・
0824デフォルトの名無しさん2008/11/12(水) 04:04:26
age忘れたのは致命的かもしれんなw
0825デフォルトの名無しさん2008/11/12(水) 06:29:50
こっちも過疎ってるんだからここでもいいと思うんだがなw
0826デフォルトの名無しさん2008/11/12(水) 06:37:56
ダメだよ
0827デフォルトの名無しさん2008/11/12(水) 07:50:24
Windows 7のDirect2DとかDirectWriteはどこでやることになるんだろうな。
Direct2Dはともかく、DirectWriteはDirectXスレではないと思うが。
0828デフォルトの名無しさん2008/11/12(水) 08:12:59
DirectWriteスレが立つだけだろ
0829デフォルトの名無しさん2008/11/12(水) 08:39:18
COMスレのことも忘れないでやってください。
個人的にはお世話になってるスレ

COM
http://pc11.2ch.net/test/read.cgi/tech/1168427595/
0830デフォルトの名無しさん2008/11/12(水) 08:42:26
ここも

どうしてCOMは即死したのか
http://pc11.2ch.net/test/read.cgi/tech/1143171172/
0831デフォルトの名無しさん2008/11/12(水) 10:25:08
いい加減APIオンリーで.NETのクラスライブラリの提供ないっていうの止めて欲しいぜ
いつまでたっても移行できないじゃん

ttp://www.microsoft.com/japan/whdc/device/network/WFP.mspx

VistaでまたAPIだけ追加しやがって死ねよ本当にww
0832デフォルトの名無しさん2008/11/12(水) 10:35:42
いったい何がどうして移行できないのか
0833デフォルトの名無しさん2008/11/12(水) 11:22:13
APIゴリゴリ書きながらライブラリ作りこむの楽しいです(^q^)
0834デフォルトの名無しさん2008/11/12(水) 12:12:55
楽しくねーよ
0835デフォルトの名無しさん2008/11/12(水) 13:41:07
>>833
よだれを ふきなさい
0836デフォルトの名無しさん2008/11/12(水) 13:48:27
知らないならレスしないでください。
0837デフォルトの名無しさん2008/11/12(水) 13:52:59
何時間もかけてヘッダをちまちまマネージ型に書き直すのは嫌だお><
0838デフォルトの名無しさん2008/11/12(水) 13:53:08
心中お察しします
0839デフォルトの名無しさん2008/11/12(水) 14:50:07
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな
0840デフォルトの名無しさん2008/11/12(水) 14:54:07
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな
0841デフォルトの名無しさん2008/11/12(水) 14:55:21
あえて問おう。
それは大切なことか?
0842デフォルトの名無しさん2008/11/12(水) 15:03:22
.NET が (or/and OO が) よく理解できなかった >>839 にとっては。
0843デフォルトの名無しさん2008/11/12(水) 15:05:38
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな
0844デフォルトの名無しさん2008/11/12(水) 15:09:44
大切なことだとしても3度言うほどじゃない
0845デフォルトの名無しさん2008/11/12(水) 15:10:36
.NETを否定されると即反論してくる奴ってどこのスレにもいるよなw
宗教みたいで気味悪いぜ
0846デフォルトの名無しさん2008/11/12(水) 15:11:01
所詮.NETなんてWin32APIのラッパーじゃん
シェル関連とかもライブラリ用意されてないの多いし、2.0になるまでテーマAPIすら使えなかった

VB時代からずっとそうだが基本的にこの手のクラスライブラリは有り物で素早く開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作った方がかえって楽だからな
0847デフォルトの名無しさん2008/11/12(水) 15:17:16
所詮Win32APIなんて.NETのラッパーじゃん
WPF関連とかもライブラリ用意されてないの多いし、未だにSendMessageとかアホかと

Win16時代からずっとそうだが基本的に思考停止したオッサンが開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作ったらかえって危険だからな
0848デフォルトの名無しさん2008/11/12(水) 15:18:36
.NETを否定されると即反論してくる奴ってどこのスレにもいるよなw
宗教みたいで気味悪いぜ
0849デフォルトの名無しさん2008/11/12(水) 15:19:38
間違った認識に突っ込みたいだけじゃないかな
スルー汁
0850デフォルトの名無しさん2008/11/12(水) 15:22:44
.NET教徒は.NETが他の如何なる言語やクラスライブラリより優れてると言って貰えるまで気が済まないからな
スルー汁
0851デフォルトの名無しさん2008/11/12(水) 15:23:11
スルー汁
0852デフォルトの名無しさん2008/11/12(水) 15:25:04
「スルー汁」って何?
0853デフォルトの名無しさん2008/11/12(水) 15:31:02
クズが最近覚えた言葉を使いたがる
そういうことだ
0854デフォルトの名無しさん2008/11/12(水) 15:50:35
バグの無い効率の良いプログラムが効率よく書ければWin32APIだろうと.NETだろうとどこぞのライブラリだろうと構わんのだけどな。
所詮は手段でしかないし。
0855デフォルトの名無しさん2008/11/12(水) 15:51:39
>>852
おいしいからいっぺん食ってみな
0856デフォルトの名無しさん2008/11/12(水) 15:56:12
>>854
じゃあ、あなたにはこのスレは不要ですね。
どうぞお引取りください。
0857デフォルトの名無しさん2008/11/12(水) 16:04:04
>>852
「Throughしろ」が変化して「Throughしる」になった
0858デフォルトの名無しさん2008/11/12(水) 16:05:15
汁おじさんが元祖w
0859デフォルトの名無しさん2008/11/12(水) 16:10:06
今日リリースビルドしたVCprojのexeがぴったり1Mになったので祝ってくれ
0860デフォルトの名無しさん2008/11/12(水) 16:13:43
デフォだと4096バイト単位でアラインされるからそんなの別に珍しくないだろ
0861デフォルトの名無しさん2008/11/12(水) 16:21:07
うそーん?プロジェクトのオプソはリンクするライブラリ以外いじってないからたぶんデフォだ・・・
0862デフォルトの名無しさん2008/11/12(水) 17:37:19
でかすぎじゃね?
0863デフォルトの名無しさん2008/11/12(水) 17:43:09
[ロリ動画](無修正)小学生しおり10才・りえ11才・めぐみ12才・後半乳首を舐めあってレズってます.mpg
0864デフォルトの名無しさん2008/11/12(水) 17:49:04
謎の文字列でくれ
0865デフォルトの名無しさん2008/11/12(水) 18:24:29
お互いのチクビをなめあうって事は、上四方固めの体勢か
0866デフォルトの名無しさん2008/11/12(水) 19:32:53
知らないならレスしないで下さい。ウザイだけです。
0867デフォルトの名無しさん2008/11/12(水) 19:41:20
所詮Win32APIなんて.NETのラッパーじゃん
WPF関連とかもライブラリ用意されてないの多いし、未だにSendMessageとかアホかと

Win16時代からずっとそうだが基本的に思考停止したオッサンが開発したい場合にしか向かない
複雑なソフトほどWin32APIオンリーで作ったらかえって危険だからな
0868デフォルトの名無しさん2008/11/12(水) 19:42:12
867 名前:デフォルトの名無しさん[sage] 投稿日:2008/11/12(水) 19:41:20
所詮Win32APIなんて.NETのラッパーじゃん
0869デフォルトの名無しさん2008/11/12(水) 19:51:54
.NETを否定されると即反論してくる奴ってどこのスレにもいるよなw
宗教みたいで気味悪いぜ
0870デフォルトの名無しさん2008/11/12(水) 19:53:40
大切なことだとしても何度も言うほどじゃない
0871デフォルトの名無しさん2008/11/12(水) 19:56:14
あえて問おう。
それは大切なことか?
0872デフォルトの名無しさん2008/11/12(水) 19:58:54
後半でキスだけ?
0873デフォルトの名無しさん2008/11/12(水) 20:08:57
糞
ス
レ
0874デフォルトの名無しさん2008/11/12(水) 21:04:28
以上が「.NET信者に構うとスレが荒れる」法則です
0875デフォルトの名無しさん2008/11/12(水) 21:19:21
.netは入れてあるけど.netがないと動かないソフトは何があっても使わない
0876デフォルトの名無しさん2008/11/12(水) 21:21:12
別にかまわんけど
スレに書くほどのことじゃなくね?
オナニーして寝ちまったほうがいくね?
0877デフォルトの名無しさん2008/11/12(水) 21:21:59
.NETは重い。フォーム一つ出すだけでWin32の数千倍もの時間がかかる。
しかもクラスライブラリが糞。劣化Java+糞VBランタイムの焼き直しでしょあれ。
結局、アンマネージコード無くては屑ソフトしか作れない。
しかも事実上Windows専用(それもXP以降とか)。さすが独占企業。
0878デフォルトの名無しさん2008/11/12(水) 21:24:01
  ∬∬∬
   人
  ⊂ ⊃ 
  ⊂  ⊃   ∽ プ〜ン
 ⊂__⊃
0879デフォルトの名無しさん2008/11/12(水) 21:25:30
>>876
このように、少しでも否定されるとすぐさま反論してきます
彼らは一日中Win32APIスレに張りついているのでしょうか
0880デフォルトの名無しさん2008/11/12(水) 22:04:08
いや、いいんだけど、
やってることはWin32APIスレを破壊することなんだが
0881デフォルトの名無しさん2008/11/12(水) 22:23:21
>>827
Direct2DとかってせめてVistaでも使えるようにしてくれれば
よかったのに・・・正直浸透する前に別のものになったりして
消えそうで怖い・・・
0882デフォルトの名無しさん2008/11/12(水) 22:32:45
VistaもWDDM1.1にアップデートされれば使えるようになるだろ
する予定はあるって言ってるし
0883デフォルトの名無しさん2008/11/12(水) 22:33:16
絶対になくならないのがWin32APIのいいところ
0884デフォルトの名無しさん2008/11/12(水) 22:40:55
Direct2Dと聞いて「DirectDrawなら95時代からあったじゃん。何を今更・・・」と一瞬思った俺
0885デフォルトの名無しさん2008/11/12(水) 22:43:41
いままでのはDirectじゃなかったんですね?
0886デフォルトの名無しさん2008/11/12(水) 23:04:22
その記憶はドローしました
0887デフォルトの名無しさん2008/11/12(水) 23:39:36
>>884
よう、俺
08887182008/11/13(木) 00:16:39
書き込み以来来てませんでしたが、
久しぶりに来て見るといろいろと助言が。ありがとうございます。

一応、自分でいろいろと試行錯誤を繰り返し、
フォルダの時間を変更する事はなんとかできるようになりました。
1 CreateFileを使ってハンドルを取得
2 持ってる時間(CTime)のSystemTimeをFILETIMEに変換
3 SetFileTime関数を用いて変更
CreateFileの引数をいろいろいじると変更可能になってました。

時間が変っていうのはあるものの、なんとな成りそうです。
ちなみに…、煽ったりしてるのは自分ではないですよ。

0889デフォルトの名無しさん2008/11/13(木) 00:37:46
別にかまわんけど
スレに書くほどのことじゃなくね?
オナニーして寝ちまったほうがいくね?
0890デフォルトの名無しさん2008/11/13(木) 00:52:53
> CreateFileの引数をいろいろいじると

どうしたら可能になったのか書かないからオナニーなんだよ
0891デフォルトの名無しさん2008/11/13(木) 01:33:06
エクスプローラで、フォルダに対して画像を貼りつけることが
できます。
あれを自作のプログラム側で実行したいのですが、実装方法が
まるでわかりません。

何かAPIが用意されているのでしょうか?それともレジストリを
シコシコいじるしか方法はないんでしょうか?
0892デフォルトの名無しさん2008/11/13(木) 01:49:00
「フォルダに対して画像を貼りつける」の意味が分からないんだが。
0893デフォルトの名無しさん2008/11/13(木) 01:53:07
Paint.netは使ってる
0894デフォルトの名無しさん2008/11/13(木) 02:38:44
>>892
知らないならレスしないで下さい。ウザイだけです。
0895デフォルトの名無しさん2008/11/13(木) 02:47:09
画像じゃなくてもファイルだったら何でも貼り付けれるじゃん
0896デフォルトの名無しさん2008/11/13(木) 02:57:14
>>891
とりあえずdesktop.iniで出来る。
http://cell-blog.blogspot.com/2006/02/folder-background-pictures-for-windows.html
シェルAPIでも出来るかどうかは知らない。
0897デフォルトの名無しさん2008/11/13(木) 02:59:06
なんだそういう意味だったのか
>>891の説明じゃ全く分からなかった
>>896はエスパーだな
0898デフォルトの名無しさん2008/11/13(木) 03:29:58
エスパーじゃなくて普通だろ
お前の頭が悪すぎるだけ
0899デフォルトの名無しさん2008/11/13(木) 04:03:07
フォルダ(ウィンドウ)に対して(背景に)画像を貼りつけることができます。

この程度なら文脈で判断できるよなw
>>897は日本人では無いみたいだ
0900デフォルトの名無しさん2008/11/13(木) 04:46:44
↓荒れる原因となるレス
0901デフォルトの名無しさん2008/11/13(木) 04:58:57
Since I'm not a Japanese, I don't know what he wants to say.
0902デフォルトの名無しさん2008/11/13(木) 05:08:04
普通にフォルダアイコン右クリックで貼り付けかと思ったorz
0903デフォルトの名無しさん2008/11/13(木) 05:59:46
俺は、mspaintで画像切り取ってエクスプローラにペーストできる機能のことかと思ってた。
0904デフォルトの名無しさん2008/11/13(木) 06:17:43
>>900-903
日本人以外はレスしないで下さい。ウザイだけです。
0905デフォルトの名無しさん2008/11/13(木) 06:31:15
コスモポリタン以外はレスを(ry
0906デフォルトの名無しさん2008/11/13(木) 06:49:27
>>881
Vistaにはバックポートされると思う。多分。
0907デフォルトの名無しさん2008/11/13(木) 06:55:57
WPFがあるのに何でまた新しいAPIを増やすのだろう
0908デフォルトの名無しさん2008/11/13(木) 07:09:08
既存のOSにない新機能を追加しないと買い替えが進まないから
0909デフォルトの名無しさん2008/11/13(木) 07:29:16
新機能を追加したところでそれを使ったソフトが増えない事にはねぇ・・・

個人的に、XPのシェアを考えるとOSのサポートが終了まで切り捨てできないと思うから
ほとんどのソフトはそんなの使わないと思うよ
だってWin9xのサポート終了するまでUnicodeアプリなんてほとんど無かったでしょ
0910デフォルトの名無しさん2008/11/13(木) 07:58:49
それは関係ねーよ。
未だに馬鹿外人の作ったコードはマルチバイト文字ばっかりだぜ。
0911デフォルトの名無しさん2008/11/13(木) 08:18:19
国籍も関係ないんじゃw
0912デフォルトの名無しさん2008/11/13(木) 08:20:10
関係あるよ
シェアがそれなりにあるOSはそう簡単には切り捨てられないということ
(UnicodeアプリにするとWin9xで動かないからね)
例えばWindows2000なんかはシェアが低いからメインストリーム終了と共に続々と切り捨てられてる
0913デフォルトの名無しさん2008/11/13(木) 08:20:18
マルチバイト文字ばっかりならいいじゃないか
0914デフォルトの名無しさん2008/11/13(木) 08:26:13
>>910
そりゃ1バイト圏のプログラマは普通は1バイト圏で使う事しか想定していないからだろ
だからわざわざUnicodeビルドする必要も無い
0915デフォルトの名無しさん2008/11/13(木) 08:29:34
マルチバイトで困ってるのって実は日本ぐらいじゃないの?
そもそもShiftJISでバックスラッシュが0x5cにあるのが問題な訳だし、
それ以外はあまり大きな問題ではなかろう
0916デフォルトの名無しさん2008/11/13(木) 08:45:19
MFCなら、ちゃんとソースを書いておけば、既存のプロジェクト設定をコピー
して、「_MBCS」の代わりに「_UNICODE」を定義したビルド設定を作成する
だけで、MCBS(シングルバイト)環境用と、ユニコード環境用のバイナリを
いとも簡単に生成することができる。

xxxxAとかxxxxWという関数の使い分けは、全部マクロやフレームワークが
面倒見てくれる。

いまだにSDKでしかプログラムを書けない、C++はできると言うのに、(C++
で書かれたソース付きの)MFCは判らないとか文句を言う、似非グラマが
多数いる。

別にSDKで書いてもいいが、メッセージループを廻していなくて、時間が
掛かる処理でウィンドウの描画が止まってしまうとか、勘弁してほしい。
0917デフォルトの名無しさん2008/11/13(木) 08:52:06
> メッセージループを廻していなくて、時間が掛かる処理でウィンドウの描画が止まってしまう
MFCプログラマって時間が掛かる処理でメッセージループを廻すという古臭い発想を未だに持ってるの?
普通スレッド立てるだろ・・・
0918デフォルトの名無しさん2008/11/13(木) 09:34:12
マスゴミが公共事業を無駄とか言ってる国でモノが売れるわけねーだろ
0919デフォルトの名無しさん2008/11/13(木) 10:01:14
>>915
自分で文字列処理とか書いたことない人?
マルチバイトは文字通り途中で切れるのが大変だろ。
0920デフォルトの名無しさん2008/11/13(木) 10:04:54
>>919
つ CharNext/CharPrev
0921名無し募集中。。。2008/11/13(木) 10:07:17
昔VCでDoEventsという関数を作っている人がいて失望した
0922デフォルトの名無しさん2008/11/13(木) 10:24:57
サ変活用のある日本語らしい考え方じゃないか。
0923デフォルトの名無しさん2008/11/13(木) 10:27:30
>>922
そのレスから察するにDoEventsを知らないようだな。
0924デフォルトの名無しさん2008/11/13(木) 10:29:43
>>922
知らないならレスしないで下さい。ウザイだけです。
0925デフォルトの名無しさん2008/11/13(木) 10:31:38
>>920
そういう関数があること自体、マルチバイトの問題があるってことなわけで。
0926デフォルトの名無しさん2008/11/13(木) 10:34:09
>>925
CharNextW/CharPrevWもありますが何か?
0927デフォルトの名無しさん2008/11/13(木) 10:34:57
微妙にイミフだったんだけど

>別にSDKで書いてもいいが、メッセージループを廻していなくて、時間が
>掛かる処理でウィンドウの描画が止まってしまうとか、勘弁してほしい。

これってもしかして時間がかかるループ内はPeekMsgやDispatchMsg呼べって話?
0928デフォルトの名無しさん2008/11/13(木) 10:35:30
>>926
それもシングルバイトじゃない
0929デフォルトの名無しさん2008/11/13(木) 10:36:30
>>926
元の>>914見てないのか
0930デフォルトの名無しさん2008/11/13(木) 10:44:02
>>929
>>914の何が「元」なんだ?
0931デフォルトの名無しさん2008/11/13(木) 10:46:46
ふと気になって調べてみたが
XPSP3ではCharNextWはサロゲートペアを無視だな
0932デフォルトの名無しさん2008/11/13(木) 10:48:43
俺はShellExecuteExを1回呼ぶだけでもスレッド作って丸投げだな。
0933デフォルトの名無しさん2008/11/13(木) 10:50:10
UnicodeビルドすればCharNextW/CharPrevWは不要と思ってる奴は
結局>>914が言う1バイト圏のプログラマと発想は同じ

>>931
Vistaでもサロゲートペアは無視するらしいぞ
0934デフォルトの名無しさん2008/11/13(木) 10:55:34
CharNextAのプログラムを無理やりUNICODEにするのに
エスケープとしてCharNextWとか使ってるだけだろ

サロゲートペアなんか気にするなら初めからUNICODEで書けってこった
0935デフォルトの名無しさん2008/11/13(木) 10:56:27
utf32を使えば、現時点では、サロゲートペアは不要。
そしてC++0xに入る。
VC10では実装されないが。
0936デフォルトの名無しさん2008/11/13(木) 11:00:00
>>934
ヒント:結合文字
09378912008/11/13(木) 12:07:44
>>896
エスパーな返信をいただいたところを申しわけないですが、違うんです。

エクスプローラでフォルダのプロパティ画面を出して、「カスタマイズ」タブを
選択します。
その中の「フォルダの画像」−「ファイルの選択...」ってのをやるとフォルダ
アイコンの中に特定の画像を貼り付けることができます。

これをプログラム側から設定したいのですが、方法がサッパリわからん
です。

何かAPIが用意されているのでしょうか?
ということを聞きたかったのです。(省略しすぎですみません)



0938デフォルトの名無しさん2008/11/13(木) 12:10:33
それってesktop.iniじゃねえの?やっぱり

いまさらだがMSもini使ってるのな未だに
0939デフォルトの名無しさん2008/11/13(木) 12:12:15
esktop.ini
0940デフォルトの名無しさん2008/11/13(木) 12:53:35
Vistaって隠しファイルを表示する設定だと
デスクトップにiniが出てきちゃわない? しかもユーザー用とAll User用と二つ。
あれはひどい
0941デフォルトの名無しさん2008/11/13(木) 15:15:51
指示通り、隠しファイルを表示しただけなのに
この言われ様。
0942デフォルトの名無しさん2008/11/13(木) 15:28:07
保護されたオペレーティングシステムファイルも表示するようにしないと、表示されないなw
0943デフォルトの名無しさん2008/11/13(木) 15:29:47
ゴミには自分の設定した事の意味なんて分からないんだろうな
0944デフォルトの名無しさん2008/11/13(木) 15:37:53
いや、XPまではデスクトップ上のdesktop.iniは表示されなかったでしょ。
もちろんエクスプローラ等で掘っていけば表示されるけども。
0945デフォルトの名無しさん2008/11/13(木) 15:44:48
いや、表示されるから。
0946デフォルトの名無しさん2008/11/13(木) 16:01:09
>>943がゴミって事だけはわかった。
0947デフォルトの名無しさん2008/11/13(木) 16:03:04
XPだとデスクトップには出なかったな
0948デフォルトの名無しさん2008/11/13(木) 16:10:52
XPでもdesktop.iniを作成してフォルダオプションで表示するように設定すれば表示された
Vistaと同じ挙動
0949デフォルトの名無しさん2008/11/13(木) 16:36:40
何か、でっかいちんぽをしゃぶりたくなってきた
0950デフォルトの名無しさん2008/11/13(木) 16:42:32
tnok禁止
0951デフォルトの名無しさん2008/11/13(木) 17:50:37
>>917
スレッド立ててもメッセージループ廻してもいいけど、そのどちらも
やっていない有名ソフトは数多い。

例えば、評判が悪いウイルスバスター(更新処理中)とか、Mozilla
Thundirbird(メール受信処理中)とかな。

Thundirbirdに至っては、メール受信中は、ウィンドウのサイズ変更や
移動、最小化/最大化といった操作さえできない。 細かなバグはとも
かく、Netscape 4.0の方がずっとマシな造りだった。

他にも、ファイルのドラッグ&ドロップ操作でこれを取り込んでリスト
ビューに追加する処理なんかをメッセージループを廻さずにプライマリ
(GUI)スレッドに書いていると、数百個のファイルをまとめてドラッグ&
ドロップすると、動作環境の性能にもよるけど数十秒間まったく無反応
になる。
0952デフォルトの名無しさん2008/11/13(木) 17:55:48
スレッド使うのはいいが、SDKで組むような連中は、スレッドが終了
しても、スレッドの使ったメモリ領域の解放処理とかちゃんとやって
なくて、1回でリークするメモリ量はわずかだが、ある操作でスレッドが
生成されるたびに、どんどんメモリ減っていくとかよくあるな。
0953デフォルトの名無しさん2008/11/13(木) 18:03:52
メール受信でDB弄ってるときに下手に操作されるより
UIばっさり止めておいたほうが安全確実なんだよ。
0954デフォルトの名無しさん2008/11/13(木) 18:12:54
知らないならレスしないでください。ウザイだけです。
0955デフォルトの名無しさん2008/11/13(木) 18:21:33
>>953
それならせめてモーダルダイアログで受信中ですって表示するだけでも、随分と印象が違うと思う。
0956デフォルトの名無しさん2008/11/13(木) 18:29:21
>>951
俺はThundirbirdを使ったことがないが、 Thunderbirdならきっちりマルチスレッドで動作してるぞ?
0957デフォルトの名無しさん2008/11/13(木) 18:32:33
なに? 不思議ちゃん?
0958デフォルトの名無しさん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では
普通に可能だったこともできない。

アイコンがフルカラーなくらいで、プログラム的な中身の造りは、むしろ
チープという印象。

なんでこんなソフトが世界的に高評価なのか理解に苦しむ。
0959デフォルトの名無しさん2008/11/13(木) 18:42:41
スレと関係ねえ
0960デフォルトの名無しさん2008/11/13(木) 18:51:44
企業製品から暇人プログラマの道楽になったんだから当たり前だろ
0961デフォルトの名無しさん2008/11/13(木) 19:02:07
>>958
オープンソースなんだからお前が直せばいいだろ
0962デフォルトの名無しさん2008/11/13(木) 19:08:02
.netを悪く言うと信者が荒らしに来る、というのはわかった
0963デフォルトの名無しさん2008/11/13(木) 19:31:03
.net(笑)
0964デフォルトの名無しさん2008/11/13(木) 19:31:30
ホントだな・・・
スレと無関係な話題を振ったりして全力で潰しにかかってくるようだ
0965デフォルトの名無しさん2008/11/13(木) 19:33:41
.netを知らない奴が偉そうに.netを否定するからだ
分かったら二度と.netの悪口は言わないこった
0966デフォルトの名無しさん2008/11/13(木) 19:38:30
知らないならレスしないで下さい。ウザイだけです。
0967デフォルトの名無しさん2008/11/13(木) 19:44:50
.netを知らないならレスしないで下さい。キモイだけです。
0968デフォルトの名無しさん2008/11/13(木) 19:47:05
.netの話題は出さないでください。ウザイだけです。
Win32APIの話題だけお願いします。
0969デフォルトの名無しさん2008/11/13(木) 19:51:20
知らないけどレスします。ウザくて上等です。
0970デフォルトの名無しさん2008/11/13(木) 20:04:06
>>514>>663>>682>>831

どうやらスレの後半になってくると.netの話題を振りたがる奴がいるみたいだな
Win32APIで.netの話題なんか出したら荒れる事ぐらい分かってるだろうから確信犯か
0971デフォルトの名無しさん2008/11/13(木) 20:17:29
そろそろ次スレが必要なので
●持ちの賎民はアップをお願いします
0972デフォルトの名無しさん2008/11/13(木) 20:20:34
賎民て、
0973名無し募集中。。。2008/11/13(木) 20:31:31
Win32API質問箱 Build72
http://pc11.2ch.net/test/read.cgi/tech/1226575789/l50
0974デフォルトの名無しさん2008/11/13(木) 20:34:15
>>973
乙
0975デフォルトの名無しさん2008/11/14(金) 00:35:05
ローカル版のMSDNライブラリより検索が早く
関連項目のまともなヘルプはどこにあるかご存知ありませんか?

昔delphiについてたwin32apiのヘルプはとても重宝しました
あれに似たものがあるとうれしいのですが
0976デフォルトの名無しさん2008/11/14(金) 00:37:51
>>975
それでいいじゃん
0977デフォルトの名無しさん2008/11/14(金) 01:03:21
VC++6.0に付いてたHtmlHelp版が一番良かった

誰か、
オンライン版MSDNのhtmlを根こそぎダウンロード
→不要なJavaScriptやCSSなどを削除して軽量化
→HTML Help Workshopへ突っ込んでジャンル別にchmを自動生成
してくれるスクリプトでも書いてくれ
0978デフォルトの名無しさん2008/11/14(金) 01:05:50
検索ならsite:msdn.microsoft.comでググるのが速い。
>>977が出来上がったら、CHMプラグインつけてGoogleデスクトップするのが良さそうな気がする。
0979デフォルトの名無しさん2008/11/14(金) 01:10:43
正直Document Explorerは改悪だと思う
0980デフォルトの名無しさん2008/11/14(金) 01:13:44
Silverlightのヘルプはchmでも配っているのが助かるw
俺が見るのは基本的にchmの方だな。
0981デフォルトの名無しさん2008/11/14(金) 01:20:31
VisualStudioと言語のヘルプでいいのに
10G以上もあるMSDNを入れさせるのが害悪だろ
0982デフォルトの名無しさん2008/11/14(金) 01:38:10
>>981
インストール時に要らないやつのチェック外せよ。
10GBの内訳はほとんど全部ドキュメントのはず。
0983デフォルトの名無しさん2008/11/14(金) 07:31:15
>>981
高々10GBぐらい入れなよ。
自分の体はメタボなのにHDDはダイエットってへんじゃね
0984デフォルトの名無しさん2008/11/14(金) 08:08:53
高々10GBw
大容量化の弊害w
0985デフォルトの名無しさん2008/11/14(金) 09:50:23
どうせ最近は開発環境だってデカいのだから「高々10GB」じゃないの?
VC6の頃なんてIDE+SDKのみだと100MB程度だったが。
0986デフォルトの名無しさん2008/11/14(金) 09:51:41
現場では未だにVC5だったり
0987デフォルトの名無しさん2008/11/14(金) 14:38:47
別にいいんじゃね?
0988デフォルトの名無しさん2008/11/14(金) 14:48:57
別にいいよな
0989デフォルトの名無しさん2008/11/14(金) 15:04:00
そうかな?
0990デフォルトの名無しさん2008/11/14(金) 15:09:32
別にいいよ?
0991デフォルトの名無しさん2008/11/14(金) 15:10:38
別にいいですよね?
0992デフォルトの名無しさん2008/11/14(金) 15:19:01
いやどうだろ?
0993デフォルトの名無しさん2008/11/14(金) 15:20:10
FindDirstFileとFindNextFileで "*.*" をキーにしてディレクトリの中身を総ざらいするとき
.
..
がひっかかってしまいますが、これを検索にかからないようにする方法はあるのでしょうか?

最初の2つの結果を捨てたらいいかなーとか思ってるんですが、
あまりスマートじゃない気がするので…
0994デフォルトの名無しさん2008/11/14(金) 15:22:02
if( filename[0] == '.' ){
 ここでやる
}
0995デフォルトの名無しさん2008/11/14(金) 15:22:50
逆だったばかぶたどじうんこ

if( filename[0] != '.' ){
 ここでやる
}

これでいいだろ?
0996デフォルトの名無しさん2008/11/14(金) 15:23:29
どうかな
0997デフォルトの名無しさん2008/11/14(金) 15:25:15
残念ながら.から始まる普通のファイルを作成可能なのでそれではダメだ。
まあ、Unix系のアプリぐらいしかそんなもん作らないが普通。
0998デフォルトの名無しさん2008/11/14(金) 15:27:47
そしたら2つみちゃえよもう
0999デフォルトの名無しさん2008/11/14(金) 15:32:50
>>993
>あまりスマートじゃない気がするので…
でも、それしかない。
>>998
もちろん、それしかない。
1000デフォルトの名無しさん2008/11/14(金) 15:34:03
レスどうもです。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。