Win32API質問箱 Build68
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/07/06(日) 21:53:24やさしいお兄さんやお姉さんたちが答えてくれるかも。
過去スレ、関連リンクは>>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質問箱 Build67
http://pc11.2ch.net/test/read.cgi/tech/1212931246/
0002デフォルトの名無しさん
2008/07/06(日) 21:53:58http://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/07/06(日) 21:56:46http://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
-おまけ
Build19が見たい人で余裕のある人は●でも買ってくれ。
0004デフォルトの名無しさん
2008/07/06(日) 22:06:50/´ ̄`ヽ /: : : \_____/: : : : ヽ、
,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
/: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
,. -──「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
/: :.,.-ァ: : : |: : : : : : : : : :\: : : : :: : : :ヽ \ /: : : :/
 ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i / /: : : : :/
/: : ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/ /: : : : :/ 、
. /: : / . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : | /: : : : :/ |\
/: : ィ: : : : :.i: : | \!___/ ヽ:: : : : : : :\|:.:.:.:/:! ,': : : : / |: : \
/ / !: : : : :.ト‐|- ヽ \: : : : : l::::__:' :/ i: : : : :{ |: : : :.ヽ
l/ |: : :!: : .l: :| \: : : l´r. Y {: : : : :丶_______.ノ: : : : : :}
l: : :l: : :ト、| 、___,ィ ヽ: :| ゝ ノ '.: : : : : : : : : : : : : : : : : : : : : : /
|: : :ト、: |: :ヽ ___,彡 ´ ̄´ ヽl-‐' \: : : : : : : : : : : : : : : : : : イ
!: :从ヽ!ヽ.ハ=≠' , ///// ///u /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
V ヽ| }/// r‐'⌒ヽ イ〉、
ヽ、______ー‐‐' ィ´ /:/:7rt‐---、 こ、これは>>1乙じゃなくて
ィ幵ノ ./:/:./:.! !: : : : :!`ヽ ポニーテールなんだから
r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\ 変な勘違いしないでよね!
/: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\
0005デフォルトの名無しさん
2008/07/07(月) 02:00:00無駄レスでスレに勢いがありすぎる。
0006デフォルトの名無しさん
2008/07/07(月) 04:28:5466 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/
0007デフォルトの名無しさん
2008/07/07(月) 04:29:4549 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/
0008デフォルトの名無しさん
2008/07/07(月) 04:30:3024 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
0009ハッカーの神様
2008/07/07(月) 21:11:380010デフォルトの名無しさん
2008/07/07(月) 22:21:36.NET Frameworkは、C#などをコンパイルして、
共通中間言語(CIL)になり、JITでネイティブコードにしながら
実行されるということですが、これには Win32APIは全く
使用されていないってことでいいですか?
0011デフォルトの名無しさん
2008/07/07(月) 22:34:370012デフォルトの名無しさん
2008/07/07(月) 22:53:330013デフォルトの名無しさん
2008/07/08(火) 10:45:100014デフォルトの名無しさん
2008/07/08(火) 10:47:12WM_RBUTTONDOWNのハンドラの中で
CPoint pt;
GetCursorPos(&pt);
if (::DragDetect(m_hWnd, pt)) {
AfxMessageBox(_T("★"));
}
という判定を入れても、すぐにFALSEになってしまうのです。
たしかにMSDNのDragDetectの説明には「左ボタン」という表記があるのですが、
同じように右ボタンのドラッグ開始判定をしようと思ったら、
結局は自分でタイマを使ったり距離を調べたりといった判定を
入れなければいけなくなるものなのでしょうか?
0015デフォルトの名無しさん
2008/07/08(火) 10:54:31>>12は>>10宛てかと。
0016デフォルトの名無しさん
2008/07/08(火) 10:57:040017デフォルトの名無しさん
2008/07/08(火) 14:25:37日本語でおk
0018デフォルトの名無しさん
2008/07/08(火) 19:46:490019デフォルトの名無しさん
2008/07/08(火) 20:51:220020デフォルトの名無しさん
2008/07/08(火) 21:37:27元の位置に戻したいと思ってます。
EM_LINESCROLLをSendMessageするときに
GetScrollPosで垂直と水平の位置を取得すると水平の位置だけなんかおかしいのですが
水平位置の取得ってどうやるんでしょうか?
EM_GETTHUMBは垂直位置のようですし・・・
0021デフォルトの名無しさん
2008/07/08(火) 21:38:06スリープモード状態から指定した時刻にスリープを解除することができます。
これと同じことを自作のアプリから行うにはどのようにしたらよいのでしょうか?
APIなどを探したのですが見あたりませんでした。
もしかしたらOS標準の「タスク」にしか実現できない処理なのでしょうか?
0022デフォルトの名無しさん
2008/07/08(火) 22:12:51ダイアログボックスのエディタボックスにファイルをD&Dしたら
そのファイルを読んでエディタボックス内に表示させてたいのですが
方法がどうもわかりません
MFCなら"DragAcceptFiles"ってのを使えばいいっぽいのですが
MFCを使ってないもので・・・
どなたかご教授いただけないでしょうか。
0023デフォルトの名無しさん
2008/07/08(火) 22:28:21少しはググれカス
0024デフォルトの名無しさん
2008/07/08(火) 22:39:50とかなら分からないでもないが、10年ぐらい前のVC6を今でも使ってる奴が
なぜそんな基本的な事も知らないのかねぇ
前世紀からタイムスリップしてきたのか?
0025デフォルトの名無しさん
2008/07/08(火) 22:42:130026デフォルトの名無しさん
2008/07/08(火) 22:49:18STLは腐ってるし、古いリンカのせいでSDKの対応は2003位で頭打ちだし。
0027デフォルトの名無しさん
2008/07/08(火) 22:52:07新しいものを拒絶して、いつまでも過去にすがりつこうとする人っているじゃん。
そういう人なんだよ。
0028デフォルトの名無しさん
2008/07/08(火) 22:52:480029デフォルトの名無しさん
2008/07/08(火) 23:53:11結構使ってる奴いるんじゃね?
0030デフォルトの名無しさん
2008/07/09(水) 00:03:110031デフォルトの名無しさん
2008/07/09(水) 02:46:30だって2002以降は.NETなんていらねーのに統合されてるのがむかつくし
ってか、VC6使いなんて発売時期考えてもプログラミング暦5年は超えてないとおかしくないか?
なぜDragAcceptFilesすら知らないのか理解できないのだが
0032デフォルトの名無しさん
2008/07/09(水) 03:58:090033デフォルトの名無しさん
2008/07/09(水) 07:40:13というか実際にあったし…(´;ω;`)ウッウッウッ・・・
0034デフォルトの名無しさん
2008/07/09(水) 08:56:490035デフォルトの名無しさん
2008/07/09(水) 08:56:56調べる手段をまともに持ってない事だな
0036デフォルトの名無しさん
2008/07/09(水) 09:00:04設定で変えられるけど
2003もデフォルトでそう
2005から変わった
0037デフォルトの名無しさん
2008/07/09(水) 11:40:10例えば、キャレットの位置にあった文字が太文字だった場合、IMEへ入力される文字も太文字になってしまいます。
これを、常に一定のフォントでIMEに入力されるようにしたいのですが、どうすればよいでしょうか?
0038デフォルトの名無しさん
2008/07/09(水) 12:57:19元windowはリッチエディット?
EN_IMECHANGE 捕まえて ImmGetContext() 〜 ImmSetCompositionFont()
でなんとかならんかね?
0039デフォルトの名無しさん
2008/07/09(水) 13:00:380040デフォルトの名無しさん
2008/07/09(水) 13:20:020041デフォルトの名無しさん
2008/07/09(水) 13:20:55もしわかる方いたらお願いします・・・
0042デフォルトの名無しさん
2008/07/09(水) 13:27:29スクロール位置なの?
キャレット位置戻すだけじゃ駄目?
0043デフォルトの名無しさん
2008/07/09(水) 13:45:19キャレットって言葉知りませんでした。調べてみます。
スクロール位置というか更新後も同じ表示に戻したいということなんです。
キャレット位置戻すというのはそういうことなんですか?
0044デフォルトの名無しさん
2008/07/09(水) 13:49:43エディットボックスといってもReadOnlyで入力するわけではないので、
キャレット位置に戻すってのは違うみたいです。
0045デフォルトの名無しさん
2008/07/09(水) 14:06:12EM_LINESCROLLで駄目なのはなんで?
普通にうまくいくけどな。
0046デフォルトの名無しさん
2008/07/09(水) 14:13:33自分で全部作ればよか
0047デフォルトの名無しさん
2008/07/09(水) 14:19:32int v = GetScrollPos(GetDlgItem(hWnd,IDC_LOG),SB_VERT);
SetWindowTextA(GetDlgItem(hWnd,IDC_LOG),buffer.c_str());
SendMessage(GetDlgItem(hWnd,IDC_LOG),EM_LINESCROLL,h,v);
このようにやったのですが、
垂直スクロールは元の位置に戻るんですが、
水平スクロールが左端以外の時だと、一気に右端まで移動しちゃいます。
hの値を見てみると、 更新前49 更新後230になってました。
0048デフォルトの名無しさん
2008/07/09(水) 14:28:400049デフォルトの名無しさん
2008/07/09(水) 14:47:13これが垂直スクロールしか取得できないみたいなんですが、
水平の文字数ってどうやって習得するんでしょうか?
あと取得はピクセルとのことですがvの方はうまいこと同じ位置に戻るんですが、
たまたまってことですか?
0050デフォルトの名無しさん
2008/07/09(水) 15:12:29プロポーショナルフォントというものがあって
0051デフォルトの名無しさん
2008/07/09(水) 16:03:47重なったりすると一部しか描画されなかったり消えます。
case WM_MOUSEMOVE:
InvalidateRect(hwnd,NULL,TRUE);
を入れてみましたが、うまく描画されません。どうすればいいでしょうか?
0052デフォルトの名無しさん
2008/07/09(水) 16:27:12多分おまいさんが使いたいのはWS_EX_LAYEREDのほう。
0053デフォルトの名無しさん
2008/07/09(水) 16:33:59全部自分で(´・ω・`)
頭いい人達一杯いるはずなのにデフォで便利なの用意してくれないんですねMSは・・・
0054デフォルトの名無しさん
2008/07/09(水) 16:45:270055デフォルトの名無しさん
2008/07/09(水) 16:51:510056デフォルトの名無しさん
2008/07/09(水) 17:02:160057デフォルトの名無しさん
2008/07/09(水) 17:05:320058デフォルトの名無しさん
2008/07/09(水) 18:15:58クソ重い上にエラー吐きまくりやがる
0059デフォルトの名無しさん
2008/07/09(水) 18:31:530060デフォルトの名無しさん
2008/07/09(水) 18:40:470061デフォルトの名無しさん
2008/07/09(水) 19:04:17A アホ専用
P プログラム
I インターフェイス
0062デフォルトの名無しさん
2008/07/09(水) 19:21:21OSが提供する機能。unixだとシステムコールという。
近代のOSは、アプリケーションプログラムが直接I/Oポートをいじることを許さないのよ。
複数アプリ間で衝突したりするから。
で、I/Oを直接管理するのはOSで、アプリはOSが提供する機能を呼ぶことでI/Oしろということになった。
0063デフォルトの名無しさん
2008/07/09(水) 19:42:07その結果いろんなことが起こる。このように、OSたんにえちーなことをさせるのがAPI。
0064デフォルトの名無しさん
2008/07/09(水) 19:45:37そのファイルが更新(データ追加)された時点で制御返す
APIとかって知りませんか?
データサイズとタイムスタンプで何かで判断する以外のやり方が
あればそれでいきたいと思っているので。
0065デフォルトの名無しさん
2008/07/09(水) 19:48:08006664
2008/07/09(水) 19:52:46あー、CreateFileかWriteFileにAPIフックかけるのか。
でもそれは全プロセスに対して干渉する事になるから
微妙だなぁw
ものすごく薄い記憶だけどフォルダ監視に関しては
フォルダ内が更新された時点で制御返してくれるAPIが
あったと記憶してるんだが、ファイル単体に関しては
似た機能のAPIは提供されてないのかなやっぱり。
子スレッド内でSleepでもしながら一定間隔での
監視にするかなぁ。。。
0067デフォルトの名無しさん
2008/07/09(水) 19:54:56006864
2008/07/09(水) 19:56:27FindFirstChangeNotification
0070デフォルトの名無しさん
2008/07/09(水) 20:10:26いや、Win32APIはLinuxで言うところのglibcとかだぞ。
システムコールとアプリケーションの間にあるライブラリ群
0071デフォルトの名無しさん
2008/07/09(水) 20:24:360072デフォルトの名無しさん
2008/07/09(水) 23:52:08たとえばCopyMemory
0073デフォルトの名無しさん
2008/07/10(木) 03:14:20本当に話を理解してない馬鹿なんだね
0074デフォルトの名無しさん
2008/07/10(木) 06:54:55libcは、Win32APIとCランタイムの中間辺りに位置している感じか?
0075デフォルトの名無しさん
2008/07/10(木) 07:44:57ツールバーのバグって治らんのかな・・
ツールバーのボタンを押しながらマウスの右ボタン押すと、
2回目に、別のウィンドウにフォーカス移すまで、
操作不能になるって奴。
WM_CONTEXTMENUを処理して右クリックメニュー出すと、
フォーカス外れる為か、操作不能にはならないけど、
以降、ボタン押したままカーソルを外すと、押されたまま戻らないようになる。
(IEやエクスプローラーのツールバーでも確認出来る)
こっちは実害は無いけど、プログラミングスキルが低く見えて格好悪いよw
なんでMSはこんなみっともないバグ、治さないんだろな。
0076デフォルトの名無しさん
2008/07/10(木) 08:18:450077デフォルトの名無しさん
2008/07/10(木) 09:48:520078デフォルトの名無しさん
2008/07/10(木) 09:52:090079デフォルトの名無しさん
2008/07/10(木) 10:13:01使い分ける意味がない糞実装にがっかりだ
0080デフォルトの名無しさん
2008/07/10(木) 10:13:36HTMLでいうMARQUEEのような感じで、
Windowsアプリ上にて、ビットマップや文字列をスクロールさせたいと考えています。
そこで私は、以下の手順で、ビットマップをスクロールさせようと試みました。
�@x座標を表す変数に、初期値設定
�AメモリDCを作成
�BInvalidateRectで、直前のビットマップ表示領域を無効化
�C(x座標を表す変数)++
�Dx座標を表す変数を使い、メモリDCから画面DCにBitBltでビットマップコピー
�EUpdateWindow
以下、�@〜�Eの繰り返し
しかし、この方法ですと、スクロールが滑らかではなく、
非常にカクカクしてしまいます。
開発環境はVisualStdio2005で、OSはWinXPProです。
マシンスペックは、特に古い機種ではないはずですので問題はないと思います。
WindowsAPIを使って、画像・文字列等を滑らかにスクロールさせる方法をご存知の方、
ぜひともご教授お願い致します。
0081デフォルトの名無しさん
2008/07/10(木) 10:31:280082デフォルトの名無しさん
2008/07/10(木) 10:45:08そのままUpdateWindowすれば軽いよ
0083デフォルトの名無しさん
2008/07/10(木) 10:45:48>>52
ありがとうございました。
0084デフォルトの名無しさん
2008/07/10(木) 10:49:21>>81で答え出てるのにわざわざ同じ回答を繰り返す理由は?
0085デフォルトの名無しさん
2008/07/10(木) 11:04:180086デフォルトの名無しさん
2008/07/10(木) 11:18:52そういう事ね
てかSW_ERASEやSW_INVALIDATEで良くね?
0087デフォルトの名無しさん
2008/07/10(木) 11:19:44>>86は>>85宛てね
0088デフォルトの名無しさん
2008/07/10(木) 11:40:020089デフォルトの名無しさん
2008/07/10(木) 12:32:340090デフォルトの名無しさん
2008/07/10(木) 13:14:42009180
2008/07/10(木) 14:48:01非常に為になりました^^;)
いや〜〜、もっと勉強して、
皆さんの様な凄腕プログラマーにならなくてはと
思い知らされましたよ・・・。
0092デフォルトの名無しさん
2008/07/10(木) 18:30:22IMEの使い方がよくわからず困っています。
WM_IME系メッセージやImm系関数は調べてみたのですが、
そもそもWM_IME系のメッセージを受け取ることができません。
(EDITコントロールをサブクラス化すれば可能なようですが、あまりそうはしたくないです。)
どうしたらいいでしょうか...ご教授お願いします。
009392
2008/07/10(木) 18:31:300094デフォルトの名無しさん
2008/07/10(木) 18:32:230095デフォルトの名無しさん
2008/07/10(木) 18:46:08ソースコード公開してるエディタのソースを読む。
MSDNの関連する項目をちゃんと読む。
作るのをやめる。
0096デフォルトの名無しさん
2008/07/10(木) 19:58:58Send(_variant_t body);
なんだけどさ。
これでバイト列を送りたいんだよね。
BYTE* byte に先頭アドレス、
int length に長さが入ってるとして、
これを_variant_tにする方法を誰か教えてください。
0097デフォルトの名無しさん
2008/07/10(木) 20:33:03Tってあるじゃん。 _T(”パンツはいてない”) こんな感じのヤツ。
あれって、_T、__T、_TEXT、__TEXT、TEXT、って、一杯種類有るけど、誰の仕業?
単に互換性の問題なので? どれを使うのが正しいの?
0098デフォルトの名無しさん
2008/07/10(木) 20:42:400099デフォルトの名無しさん
2008/07/10(木) 21:33:27VT_UI1型のSAFEARRAYを作ることになるな。
それなら_variant_tよりも、ATLのCComSafeArrayとCComVariantがお勧め。
このスレ的には、SafeArrayCreateVectorから始めるべきかもしれないが。
頑張って作って呼び出した結果がE_INVALIDARG、ってオチになるような気もするが。
>>97
winnt.h : __TEXT -> TEXT
tchar.h : __T -> _TEXT, _T
宣言としてはこういう風になってるな。
他のコンパイラを意識するならTEXT、気にしないなら_Tってところじゃね?
何故色々なパターンがあるのかは知らん。
TEXTも_TもVC4.0の頃から既にあったとは思うのだけど。
0100デフォルトの名無しさん
2008/07/10(木) 23:36:190101デフォルトの名無しさん
2008/07/10(木) 23:56:590102デフォルトの名無しさん
2008/07/11(金) 00:13:480103デフォルトの名無しさん
2008/07/11(金) 00:35:110104デフォルトの名無しさん
2008/07/11(金) 00:57:05最強妄想キャラクター議論スレ18
http://ex24.2ch.net/test/read.cgi/ranking/1208699740/
0105デフォルトの名無しさん
2008/07/11(金) 05:35:08アクティブウィンドウの画面をコピー(Alt+Screen)して
Bitmap等にしてファイルにするようなAPI関数みたいなものはありませんでしょうか?
0106デフォルトの名無しさん
2008/07/11(金) 05:38:150107デフォルトの名無しさん
2008/07/11(金) 08:04:550108デフォルトの名無しさん
2008/07/11(金) 08:37:20アクティブなウィンドウのハンドルを取得して
そのDCを取ってきて
メモリDCにコピーして
それを好きな形式でファイルに書けばいい
0109デフォルトの名無しさん
2008/07/11(金) 08:41:02そんな事は聞いていない
>>105はAPIが「ある」か「ない」かを聞いているだけだろ
日本語読めないのかね?
0110デフォルトの名無しさん
2008/07/11(金) 09:17:49日本語読めても理解できなきゃ
意味がないんだよキミ
0111デフォルトの名無しさん
2008/07/11(金) 09:25:56という動作のAPI は無い
0112デフォルトの名無しさん
2008/07/11(金) 09:28:320113デフォルトの名無しさん
2008/07/11(金) 09:46:560114デフォルトの名無しさん
2008/07/11(金) 09:56:30在日の逆ギレは見苦しいよ
0115デフォルトの名無しさん
2008/07/11(金) 12:58:110116デフォルトの名無しさん
2008/07/11(金) 15:15:02俺ってこんな事まで知ってるぞとか自慢してるみたいでキモイだけだから自重しろ
0117デフォルトの名無しさん
2008/07/11(金) 15:30:46>>109
>>114
>>116
0118デフォルトの名無しさん
2008/07/11(金) 15:37:49なんで分かったんだよw
0119デフォルトの名無しさん
2008/07/11(金) 15:38:54自分のストレス解消のためにこのスレ使うのはやめてくれないか。
0120デフォルトの名無しさん
2008/07/11(金) 15:39:540121デフォルトの名無しさん
2008/07/11(金) 15:42:050122デフォルトの名無しさん
2008/07/11(金) 15:49:10荒らしてストレス解消するのはもちろん迷惑だが、
知識をひけらかしただけの回答で自己陶酔してストレス解消するのは迷惑じゃないのか。
0123デフォルトの名無しさん
2008/07/11(金) 15:52:43言いたいことは一通り言ったろう?
0124デフォルトの名無しさん
2008/07/11(金) 15:58:46アクティブウィンドウの画面をBMP形式で保存するという動作のAPIは無い
が、
複数のAPIを組み合わせば可能。(google: GetDC BitBlt)
BMPを書き出すのが面倒なんだけどね。まあGDI+でも使えば比較的簡単か。
0125デフォルトの名無しさん
2008/07/11(金) 19:42:40それが面倒なら単にスルーするべき
単に煽っても何も伝わらなくて同じことを繰り返すだけだから
代替案を提示するのは資料的に価値があるのでありがたい
0126デフォルトの名無しさん
2008/07/11(金) 19:44:06OleCreatePictureIndirect
SHCreateStreamOnFile
IPicture::SaveAsFile
たしかこの組み合わせでやれば、フォーマットを意識せずに保存できたと思う。
素直にBITMAPFILEHEADER書き出し方が早い気もするけど。
0127デフォルトの名無しさん
2008/07/11(金) 20:04:45こいつの段階でBITMAPINFOを用意するのだから
> 素直にBITMAPFILEHEADER書き出し方が早い気もするけど。
ということになるのでは?
それにOle系はOleInitializeやCoInitializeの初期化がめんどい。
0128デフォルトの名無しさん
2008/07/11(金) 20:20:42訳:代替案まで提示できる俺って天才
0129デフォルトの名無しさん
2008/07/11(金) 20:36:51仕事場での話しなんだけど他人が作ったモジュールの
テストとかでバグみつけたら
「バグだ酷い作りだ。バグだ酷い作りだ」
と喚き散らす奴とかよく見かけるけど、
そういうの見ると「こいつテストの意味わかってんの?」とよく思うw
だから揚げ足なんて気にせず的外れで馬鹿な質問を
どんどんすればいい。謙虚で低姿勢にしてれば小馬鹿に
しながらでも住人が必ず答えてくれる。
揚げ足さえ気にしなければ比較的良スレだよここは
0130デフォルトの名無しさん
2008/07/11(金) 21:12:350131デフォルトの名無しさん
2008/07/11(金) 21:19:36ほんと全てのジャンルの質問スレで総じて質問に対する揚げ足取る奴おおいよねぇ
性格悪いって思うよ
常にエスパーしろとは言わないけど黙ってればいいといつも思う
0132デフォルトの名無しさん
2008/07/12(土) 01:05:460133デフォルトの名無しさん
2008/07/12(土) 01:40:21[HOGE]
PIYO=""""
こういうの読めないのね
0134デフォルトの名無しさん
2008/07/12(土) 01:41:200135デフォルトの名無しさん
2008/07/12(土) 02:02:59現在テンプレートマッチングのプログラムを作っているのですが、
テンプレートマッチングでマッチングした部分の色を変えられず苦労しています。。
画像のある特定の範囲だけの色を変えるのってどうすればいいのでしょうか?
0136デフォルトの名無しさん
2008/07/12(土) 02:17:08こっちで聞けば?
画像処理 その10
http://pc11.2ch.net/test/read.cgi/tech/1197759782/
0137デフォルトの名無しさん
2008/07/12(土) 02:19:000138デフォルトの名無しさん
2008/07/12(土) 16:36:58バックグラウンドとWM_PAINT処理時にNULL_BURSHを使ってできそうなのですが
ウィンドウを動かすときにクライアント領域の下に隠れてるアプリが再描画してくれません
0139デフォルトの名無しさん
2008/07/12(土) 16:48:49レイヤードウィンドウ
0140デフォルトの名無しさん
2008/07/12(土) 17:22:440141デフォルトの名無しさん
2008/07/12(土) 20:26:090142デフォルトの名無しさん
2008/07/12(土) 20:29:200143デフォルトの名無しさん
2008/07/12(土) 20:43:520144デフォルトの名無しさん
2008/07/12(土) 20:58:320145デフォルトの名無しさん
2008/07/12(土) 21:02:590146デフォルトの名無しさん
2008/07/12(土) 21:03:340147デフォルトの名無しさん
2008/07/12(土) 21:19:35古いコードの中でGetVersion関数を使った↑のコードがあるのですが
このでGetVersion関数の戻り値をまとめたところが無いため意図がわからず困っています
これは 9x系ではないなら return; という機能になるのでしょうか? 教えていただけると助かります
0148デフォルトの名無しさん
2008/07/12(土) 21:19:470149デフォルトの名無しさん
2008/07/12(土) 21:21:17ありがとうございました
0150デフォルトの名無しさん
2008/07/12(土) 21:30:02いつの間にかAPIの説明からこれが消えてるなー
Platform High order bit Low order byte (major version number)
Windows NT zero 3 or 4
Windows 95 1 4
Win32s with Windows 3.1 1 3
For Windows NT and Win32s, the remaining bits in the high order word specify the build number.
For Windows 95 the remaining bits of the high order word are reserved.
0151デフォルトの名無しさん
2008/07/12(土) 21:37:51即レス感謝です 助かります
なんとわかりづらい関数……
0152デフォルトの名無しさん
2008/07/12(土) 21:38:42任意のキーが押されたときの,wavの再生時刻をメッセージBOXなどに出すにはどうしたらいいでしょうか?
0153デフォルトの名無しさん
2008/07/12(土) 21:39:46もはや過去の関数だもん。しかたない
0154デフォルトの名無しさん
2008/07/12(土) 21:42:06最も普及しているバージョンのWindowsだけ対応してりゃいいじゃない
0155デフォルトの名無しさん
2008/07/12(土) 23:15:52WIN32APIとC++を使った、ダイアログをメインウインドウのような用途で動かしているアプリケーションを作成しています。
コンボボックスの選択されている項目が変更された瞬間をつかまえて、
他のコンボボックスの内容を書き換えたいのですが、
どんなメッセージを指定すれば、コンボボックスの項目変更を捕まえることができるでしょうか?
…質問の情報不足があれば、またおっしゃってください。
よろしくお願いいたします
0156デフォルトの名無しさん
2008/07/12(土) 23:16:580157デフォルトの名無しさん
2008/07/12(土) 23:45:510158デフォルトの名無しさん
2008/07/12(土) 23:53:02検索は・・・かれこれ1時間弱ほど
検索したキーワードはグーグルでコンボボックス コントロール メッセージ 変更 イベント win32API ダイアログなど
MSDNでのMessage ComboBoxで検索など
ちょっと、キーワードのネタ切れもしてきて、直接こちらでお聞きするという選択を最終手段としてとってしまいました
何か、ヒントやウェブページのリンクだけでもかまいませんので、お教え願えませんか?
0159デフォルトの名無しさん
2008/07/12(土) 23:58:49CBN_EDITCHANGE, CBN_EDITUPDATE, CBN_SELCHANGEこの辺じゃないか?
0160デフォルトの名無しさん
2008/07/13(日) 00:01:45まだ未確認ですが、ありがとうございます!
0161デフォルトの名無しさん
2008/07/13(日) 00:26:490162デフォルトの名無しさん
2008/07/13(日) 00:45:230163デフォルトの名無しさん
2008/07/13(日) 00:47:400164デフォルトの名無しさん
2008/07/13(日) 01:00:270165デフォルトの名無しさん
2008/07/13(日) 01:07:56プロシージャの中で
case MM_WON_DONE
でwaveファイルの再生が終わったときに処理を書きたいんですが、
コンパイルするとMM_WON_DONEが定義されてないって出るんですが・・・
使い方間違ってます?
0166デフォルトの名無しさん
2008/07/13(日) 01:18:46016737
2008/07/13(日) 02:07:12ありがとうございます!リッチエディットです。
>> EN_IMECHANGE 捕まえて ImmGetContext() 〜 ImmSetCompositionFont()
これ参考にさせて頂いて以下のようなコードを書いてみたのですが、
--------------------------------------------
LPCWSTR window_class = _T("SampleClass");
LPCWSTR window_title = _T("title");
LWND hWND = FindWindowW(window_class, window_title);
HIMC hIMC = ImmGetContext(hWND);
---------------------------------
みたいなコードを書いてみたのですが、
HIMC hIMC = ImmGetContext(hWND);
のところで
undefined reference to `ImmGetContext@4'
のようなエラーが出ます。
これは該当のウィンドウが見つからなかった、ということなのでしょうか・・
アプリケーションのウィンドウを生成する時に使うクラス名と、生成したウィンドウのタイトルを引数にすればよいのですよね・・?
どなたかアドバイス頂けると幸いです。
0168デフォルトの名無しさん
2008/07/13(日) 02:14:051.まずヘルプでImmGetContextの説明を開く
2.必要なライブラリを調べる
3.リンクする
0169デフォルトの名無しさん
2008/07/13(日) 02:47:10LPCWSTR window_title = _T("title");
こんなの書いてる時点でWin32の基礎も分かって無さそうだなあ
てか変数に代入する必要あるか?
017037
2008/07/13(日) 03:09:07>> 169
HWND hWND = FindWindowW(_T("SampleClasss"), _T("title"));
これでよかったですね。。
Win32apiもここ2〜3日で触り始めたばっかりですがC++も初心者です(^^);
>> こんなの書いてる時点でWin32の基礎も分かって無さそうだなあ
どこがマズいのでしょうか??
>>168
imm.hだけではだめだったんですね・・
libimm32.aをリンクしたらエラー出ずにビルドできました。(MinGWです。)ありがとうございますm(_ _)m
ただビルドは出来たのですが、ちゃんとIMEとやりとりできていないようです・・
ImmGetOpenStatus() も試してみましたがIMEのON状態が検地できません。
FindWindowW() で正しいウィンドウハンドルを取得できていないってことでしょうか。
0171デフォルトの名無しさん
2008/07/13(日) 03:10:46>> どこがマズいのでしょうか??
何のために_Tを使ってるのかよく考えろ。
HWND hWND = FindWindowW(_T("SampleClasss"), _T("title"));
これもおかしいだろ。
0172デフォルトの名無しさん
2008/07/13(日) 05:08:05A版関数とW版関数の違いはWin32apiで必須の知識なんで注意
0173デフォルトの名無しさん
2008/07/13(日) 06:49:300174デフォルトの名無しさん
2008/07/13(日) 10:01:210175デフォルトの名無しさん
2008/07/13(日) 10:11:26・かゆいところに手が届く
・C#の裏で行われていることについて理解が深まる
当てはまらなければC#使ってなさい。
0176デフォルトの名無しさん
2008/07/13(日) 12:02:290177デフォルトの名無しさん
2008/07/13(日) 12:44:510178デフォルトの名無しさん
2008/07/13(日) 12:53:250179デフォルトの名無しさん
2008/07/13(日) 13:17:37C#でなきゃ楽になるって話でもないような……
0180デフォルトの名無しさん
2008/07/13(日) 15:02:010181デフォルトの名無しさん
2008/07/13(日) 15:16:52お遊び用の言語だな
0182デフォルトの名無しさん
2008/07/13(日) 15:17:320183デフォルトの名無しさん
2008/07/13(日) 15:30:24やりたい事ができないのは言語のせいじゃなくてお前の能力のせい
0184デフォルトの名無しさん
2008/07/13(日) 15:34:160185デフォルトの名無しさん
2008/07/13(日) 16:23:020186デフォルトの名無しさん
2008/07/13(日) 16:52:090187デフォルトの名無しさん
2008/07/13(日) 19:15:420188デフォルトの名無しさん
2008/07/13(日) 19:19:200189デフォルトの名無しさん
2008/07/13(日) 19:38:01キャラクターコード(WM_CHARのwParam))を取得したい場合
対象エディットボックスをサブクラス化させないとできないのでしょうか?
0190デフォルトの名無しさん
2008/07/13(日) 22:51:270191デフォルトの名無しさん
2008/07/13(日) 23:31:190192デフォルトの名無しさん
2008/07/13(日) 23:49:140193デフォルトの名無しさん
2008/07/14(月) 05:22:25EN_UPDATEとかそういうNotificationに乗ってやってくるかどうか。
来るならそれ使えばいいし、来ないならサブクラス化。
0194デフォルトの名無しさん
2008/07/14(月) 07:22:41調べてないなら回答するなカス
0195デフォルトの名無しさん
2008/07/14(月) 07:24:48そんくらい自分で調べろカス
0196デフォルトの名無しさん
2008/07/14(月) 07:35:30つうか、調べもしないで的外れな回答する奴って何考えてるのかね?
余所の掲示板ならポイント稼ぎの為にそういう事してる馬鹿がいるが2ちゃんじゃそんなの無意味だろうに
0197デフォルトの名無しさん
2008/07/14(月) 09:14:22まったくだ。
回答するなら調べてテストコード書いて確認してからにするよなJK
0198デフォルトの名無しさん
2008/07/14(月) 09:47:52質問者からの返事は一言、「だめでした」
0199193
2008/07/14(月) 10:05:31的外れじゃないよ?
回答のとおりに調べれば正解にたどり着くもの。
質問者にとって役に立つでしょう。
役に立つのに何で怒ってんの?
0200デフォルトの名無しさん
2008/07/14(月) 11:21:240201デフォルトの名無しさん
2008/07/14(月) 12:01:160202デフォルトの名無しさん
2008/07/14(月) 12:19:11中の人は多分、プライドだけは人一倍高いオッサンだと思うけど
0203デフォルトの名無しさん
2008/07/14(月) 12:36:560204デフォルトの名無しさん
2008/07/14(月) 12:51:010205デフォルトの名無しさん
2008/07/14(月) 12:53:360206デフォルトの名無しさん
2008/07/15(火) 02:30:52・人の揚げ足取ったり見下すのが大好き
・基本的に性格が悪い
・プライドが異様に高い
・自分の主張は絶対に譲らない頑固者
1 つでも該当する技術者は周囲から嫌われやすいので注意しましょう。
0207デフォルトの名無しさん
2008/07/15(火) 02:49:430208デフォルトの名無しさん
2008/07/15(火) 03:42:000209デフォルトの名無しさん
2008/07/15(火) 03:59:59・人の揚げ足取ったり見下すのが大好き
0210デフォルトの名無しさん
2008/07/15(火) 04:03:030211デフォルトの名無しさん
2008/07/15(火) 04:08:390212デフォルトの名無しさん
2008/07/15(火) 08:45:14の話の紹介があって、海では争いなく泳ぐのに水槽に入れるといじめが始ま
るといっていた。関心が内向きになるとそういう性向になるんだろう。
だからと言ってはナンだが、よその国では敵を海外に作って、国民の目を
そっちへ向けさせ、国内の矛盾への関心を希薄にする手も取られる。
0213デフォルトの名無しさん
2008/07/15(火) 10:11:23毒入り餃子だ何だってマスゴミに洗脳されてる
0214デフォルトの名無しさん
2008/07/15(火) 10:30:03こういう開き直りは嫌われる条件には入っていないのかな?
0215デフォルトの名無しさん
2008/07/15(火) 11:13:12こういうしつこい性格は嫌われる条件には入っていないのかな?
0216デフォルトの名無しさん
2008/07/15(火) 11:17:27*'``・* 。
| `*。
,。∩ * 糞スレストッパ〜
+ (^ω^) *。+゚
`*。 ヽ、 つ *゚*
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・ ゚
0217デフォルトの名無しさん
2008/07/15(火) 11:17:420218デフォルトの名無しさん
2008/07/15(火) 12:36:18ワロタ
0219デフォルトの名無しさん
2008/07/15(火) 16:08:24自分だったら間違いを直してくれて感謝するだろうな。
0220デフォルトの名無しさん
2008/07/15(火) 16:48:190221デフォルトの名無しさん
2008/07/15(火) 16:50:400222デフォルトの名無しさん
2008/07/15(火) 17:02:230223デフォルトの名無しさん
2008/07/15(火) 17:42:170224デフォルトの名無しさん
2008/07/15(火) 17:46:400225デフォルトの名無しさん
2008/07/15(火) 18:01:390226デフォルトの名無しさん
2008/07/15(火) 18:04:14どうして調べもしないで質問するのかね?
0227デフォルトの名無しさん
2008/07/15(火) 18:10:25サブクラス化は親子じゃなくても、自前のプロシージャを通過するようにできる。
0228デフォルトの名無しさん
2008/07/15(火) 18:26:19いや別にそんなこと聞かれてないから。
0229デフォルトの名無しさん
2008/07/15(火) 18:29:190230デフォルトの名無しさん
2008/07/15(火) 18:29:40調べたら解決しました。不快なおもいをさせてしまいすみません。
>>227
関係ないです。ありがとうございました。
0231デフォルトの名無しさん
2008/07/15(火) 18:30:04質問者じゃないならすっこんでな
0232デフォルトの名無しさん
2008/07/15(火) 18:31:15関係ないです。
0233デフォルトの名無しさん
2008/07/15(火) 18:31:580234デフォルトの名無しさん
2008/07/15(火) 18:34:40どうでもいいです。
0235デフォルトの名無しさん
2008/07/15(火) 18:42:47実は一人なんじゃないか。
0236デフォルトの名無しさん
2008/07/15(火) 19:05:44んな訳ねーだろ
0237デフォルトの名無しさん
2008/07/15(火) 20:56:27∨
___ _
/ ____ヽ /  ̄  ̄ \
| | /, −、, -、l /、 ヽ きみ頭だいじょうぶ?
| _| -|○ | ○|| |・ |―-、 |
, ―-、 (6 _ー っ-´、} q -´ 二 ヽ |
| -⊂) \ ヽ_  ̄ ̄ノノ ノ_ ー | |
| ̄ ̄|/ (_ ∪ ̄ / 、 \ \. ̄` | /
ヽ ` ,.|  ̄ | | O===== |
`− ´ | | _| / |
0238デフォルトの名無しさん
2008/07/15(火) 21:07:24記述を見つけたんだけど何を解放してあげればいいの?
定義がDWORD_PTR *SHGetFileInfo
ってなってるから
DWORD *pRet = SHGetFileInfo()
delete pRet
とかってやればいいの?
0239デフォルトの名無しさん
2008/07/15(火) 21:39:390240デフォルトの名無しさん
2008/07/15(火) 22:13:59MSDN嫁
アイコンハンドルのことだ。
>If SHGetFileInfo returns an icon handle in the hIcon member of the SHFILEINFO structure pointed to by psfi,
>you are responsible for freeing it with DestroyIcon when you no longer need it.
0241デフォルトの名無しさん
2008/07/16(水) 00:09:26サウンド、プログラムの起動で音がなる設定をしている環境で、
CreateProcessを使ってバックグラウンドでexeを動かした時も音が鳴ってしまいますが
これをプログラムのコードで抑止する方法がありますか?
0242デフォルトの名無しさん
2008/07/16(水) 00:12:210243デフォルトの名無しさん
2008/07/16(水) 00:29:520245デフォルトの名無しさん
2008/07/16(水) 07:29:47コマンドライン引数処理したいのですが
パースしてくれるような関数ってありますかね?
0246デフォルトの名無しさん
2008/07/16(水) 07:35:05コンソールならエントリポイントを
int main(int argc, char *argv[])
にしてみては?
for(int i=0;i<argc;i++) printf("%s\n", argv[i]);
でどんなものが渡されるか確認できる
0247デフォルトの名無しさん
2008/07/16(水) 07:51:490248デフォルトの名無しさん
2008/07/16(水) 08:05:15A版とペアになってないしargv[argc]がNULLでなかったりするから却下
0249デフォルトの名無しさん
2008/07/16(水) 08:12:480250デフォルトの名無しさん
2008/07/16(水) 08:39:36ばーか
argv[argc]はNULLでないといけないんだよ
0251デフォルトの名無しさん
2008/07/16(水) 08:42:160252デフォルトの名無しさん
2008/07/16(水) 08:42:45↑話を理解してない馬鹿
0253デフォルトの名無しさん
2008/07/16(水) 08:45:020254デフォルトの名無しさん
2008/07/16(水) 08:48:500255デフォルトの名無しさん
2008/07/16(水) 09:15:170256デフォルトの名無しさん
2008/07/16(水) 09:35:060257デフォルトの名無しさん
2008/07/16(水) 10:35:200258デフォルトの名無しさん
2008/07/16(水) 10:43:440259デフォルトの名無しさん
2008/07/16(水) 11:34:300260デフォルトの名無しさん
2008/07/16(水) 12:25:26質問がよく分からないけど、
getoptみたいなのがほしいってこと?
0261デフォルトの名無しさん
2008/07/16(水) 12:34:080262デフォルトの名無しさん
2008/07/16(水) 12:42:320263デフォルトの名無しさん
2008/07/16(水) 12:44:070264デフォルトの名無しさん
2008/07/16(水) 14:27:280265デフォルトの名無しさん
2008/07/16(水) 14:27:550266デフォルトの名無しさん
2008/07/16(水) 14:32:510267デフォルトの名無しさん
2008/07/16(水) 14:33:220268デフォルトの名無しさん
2008/07/16(水) 14:58:320269デフォルトの名無しさん
2008/07/16(水) 15:17:540270デフォルトの名無しさん
2008/07/16(水) 15:44:28キーコードをVK_0のようなバーチャルキーの文字列に変換したいのですが、256個の配列をもつくらいしか手段はないのでしょうか?
VirtualKeyToString(int vkey);
みたいなものがあればと思うのですが・・・
0271デフォルトの名無しさん
2008/07/16(水) 15:55:380272デフォルトの名無しさん
2008/07/16(水) 15:57:020273デフォルトの名無しさん
2008/07/16(水) 16:30:340274デフォルトの名無しさん
2008/07/16(水) 16:37:46お前が自分で考えてるもの以外答えと認めないだろうから
黙って書け
0275デフォルトの名無しさん
2008/07/16(水) 16:42:06buff_0 = ...
buff_1 = ...
:
:
buff_255 = ...
っていうのを言ってるんじゃなかろうな。
0276デフォルトの名無しさん
2008/07/16(水) 17:08:25そろそろ通報レベルなんだろうか?
0277デフォルトの名無しさん
2008/07/16(水) 17:12:59↑は たまたまで、それを期待して実装はマズイん?
0278デフォルトの名無しさん
2008/07/16(水) 17:18:28VK_0とかって独自の定義じゃなくてどこかで定義されてたっけ?
0279デフォルトの名無しさん
2008/07/16(水) 17:20:490280デフォルトの名無しさん
2008/07/16(水) 17:21:28マクロ自体は WinUser.h にある
"VK_0" のような文字列化を望んでいるらしいので どうしようね? って話
0281デフォルトの名無しさん
2008/07/16(水) 17:30:44C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\WinUser.h
を見てみたんだけどVK_0の付近はこんなになってた
#define VK_INSERT 0x2D
#define VK_DELETE 0x2E
#define VK_HELP 0x2F
/*
* VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
* 0x40 : unassigned
* VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
*/
#define VK_LWIN 0x5B
#define VK_RWIN 0x5C
#define VK_APPS 0x5D
0283デフォルトの名無しさん
2008/07/16(水) 17:34:390284デフォルトの名無しさん
2008/07/16(水) 17:37:48/*
* NEC PC-9800 kbd definitions
*/
#define VK_OEM_NEC_EQUAL 0x92 // '=' key on numpad
/*
* Fujitsu/OASYS kbd definitions
*/
#define VK_OEM_FJ_JISHO 0x92 // 'Dictionary' key
#define VK_OEM_FJ_MASSHOU 0x93 // 'Unregister word' key
#define VK_OEM_FJ_TOUROKU 0x94 // 'Register word' key
#define VK_OEM_FJ_LOYA 0x95 // 'Left OYAYUBI' key
#define VK_OEM_FJ_ROYA 0x96 // 'Right OYAYUBI' key
0285デフォルトの名無しさん
2008/07/16(水) 17:40:04VK_0 - VK_9、VK_A - VK_Zは自分で何とか汁
struct keypair { UINT code; LPCSTR name; };
#define def_map(c) { c, #c }
static const struct keypair kmap[] =
{
def_map(VK_F1),
def_map(VK_F2),
// ここに全部定義する
{ 0, 0 },
};
LPCSTR getname(UINT code)
{
const struct keypair* p = kmap;
for ( ; p->code && p->code != code ; p++);
return p->code ? p->name : "ねーよ";
}
int main()
{
puts(getname(VK_F2));
return 0;
}
0286デフォルトの名無しさん
2008/07/16(水) 18:14:560287デフォルトの名無しさん
2008/07/16(水) 20:20:15にNT4.0ではCreateProcessでコンソールアプリ起動すると
リークすると書いてありますが、この問題は2000/XPにも
当てはまるのでしょうか?
0288デフォルトの名無しさん
2008/07/16(水) 21:02:04たぶんこれも、それと同じ理由だろうなあ。
NT4.0SP3の修正リストがネット上に見つけられないので何ともいえないが、
NT4.0のSPで修正されて、2000以降は問題ないと考えて良いんじゃないかと。
0289デフォルトの名無しさん
2008/07/16(水) 21:02:18USBメモリなんかの取り外しでエラー出ると大抵こいつが原因だし
0290デフォルトの名無しさん
2008/07/16(水) 22:19:19みんな意地悪しているのか、本気で知らないのか分からんが
そのままのAPIあるよ。つGetKeyNameText
0291デフォルトの名無しさん
2008/07/16(水) 22:23:020292デフォルトの名無しさん
2008/07/16(水) 22:31:41俺の場合。
○○(ソフト)の××(機能)ってどんなAPIで実現しているのだろう・・・
→即OllyDbg
→こんなAPIあったのか・・・
→Google検索
Windowsの××(機能)ってどんなAPIで実現しているのだろう・・・
→即OllyDbg
→非公開APIかよ・・・
→構わず使っちゃえ!
0293デフォルトの名無しさん
2008/07/16(水) 23:11:15うんgetopt欲しいの頂戴?
0294デフォルトの名無しさん
2008/07/16(水) 23:31:52どうぞ
int getopt(int argc, char *const argv[], const char *optstring)
{
0295デフォルトの名無しさん
2008/07/17(木) 00:21:280296デフォルトの名無しさん
2008/07/17(木) 00:56:200297デフォルトの名無しさん
2008/07/17(木) 13:26:54デフォルトのブラウザで開くにはどうしたら良いでしょうか??
ググッても良く分からなかったので、
よろしくお願い致します。
0298デフォルトの名無しさん
2008/07/17(木) 13:32:000299デフォルトの名無しさん
2008/07/17(木) 14:11:10inline void browseURL(HWND window, const std::wstring& url)
{ ShellExecute(window, 0, L"rundll32.exe", (L"url.dll,FileProtocolHandler " + url).c_str(), 0, SW_SHOWNORMAL); }
0300デフォルトの名無しさん
2008/07/17(木) 16:08:48本気で知らない奴が、えらそうに講釈たれないでほしいわな
>>271-272とか最悪すぎるわ
0301デフォルトの名無しさん
2008/07/17(木) 16:20:37知らんならレスすんなやクズども
0302デフォルトの名無しさん
2008/07/17(木) 16:47:14GetKeyNameTextで"VK_0"という文字列は得られないだろ
本気で知らない奴が、えらそうに講釈たれないでほしいわな
>>300-301とか最悪すぎるわ
0303デフォルトの名無しさん
2008/07/17(木) 17:19:39知らんならレスすんなやクズども
0304デフォルトの名無しさん
2008/07/17(木) 17:26:34ひとりで何やってんの・・・?
0305デフォルトの名無しさん
2008/07/17(木) 17:36:210306デフォルトの名無しさん
2008/07/17(木) 19:39:22どの面が白くないんだ?
0307デフォルトの名無しさん
2008/07/17(木) 20:41:16これはひどい・・・
0308デフォルトの名無しさん
2008/07/17(木) 22:08:48知らんならレスすんなやクズども
0309デフォルトの名無しさん
2008/07/17(木) 22:24:05会社でもこうなのか
2ちゃん弁慶なのか
0310ハッカーの神様
2008/07/17(木) 22:32:51俺もそうだwwwwwwwwwwwww
0311デフォルトの名無しさん
2008/07/17(木) 22:36:380312デフォルトの名無しさん
2008/07/17(木) 23:13:120313デフォルトの名無しさん
2008/07/17(木) 23:30:45大丈夫
ム板の評判を貶めるようなことだけはしないと約束する
0314デフォルトの名無しさん
2008/07/17(木) 23:32:410315ハッカーの神様
2008/07/18(金) 00:14:310316デフォルトの名無しさん
2008/07/18(金) 03:56:25臆 病 な の は お 前 だ け
0317デフォルトの名無しさん
2008/07/18(金) 08:02:21うそーん(ノд<。)゜。
0318デフォルトの名無しさん
2008/07/18(金) 12:12:54うそ
0319デフォルトの名無しさん
2008/07/18(金) 12:26:360320デフォルトの名無しさん
2008/07/18(金) 12:45:420321デフォルトの名無しさん
2008/07/18(金) 15:08:020322デフォルトの名無しさん
2008/07/18(金) 15:14:05OSが自動でスタンバイ状態に入ったり、電源OFFになる事を、
プログラムから防止する方法ってありますか??
ex)長時間の動画を見ている際の、WindowsMediaPlayer等
ご存知の方は、ご教授の程、よろしくお願い致します。
0323デフォルトの名無しさん
2008/07/18(金) 15:29:21自分に対して尊敬語使うなよ。何様のつもりだ
0324デフォルトの名無しさん
2008/07/18(金) 15:41:17トップレベルウインドウが存在しメッセージキューが動いているという極めて限定的な状況であれば
WM_SYSCOMMANDやWM_POWER〜への応答で可能
0325デフォルトの名無しさん
2008/07/18(金) 15:58:33SetThreadExecutionState
0326デフォルトの名無しさん
2008/07/18(金) 16:42:38早速のレスありがとうございます。
大変助かりました^^;)
0327デフォルトの名無しさん
2008/07/18(金) 18:51:53下図のように領域をマウスで動かせるパーティションのようなもの名前です。
http://ossan.fam.cx/up/gazo/src/1216374792787.png
0328デフォルトの名無しさん
2008/07/18(金) 18:59:500329デフォルトの名無しさん
2008/07/18(金) 19:02:03ちなみにコントロールでも何でもなく、自前で実装するものだ。
MFCのCSplitterWndや、.NETのSystem.Windows.Forms.SplitContainerは
独自にインプリメントしているにすぎない。
0330デフォルトの名無しさん
2008/07/18(金) 20:37:310331デフォルトの名無しさん
2008/07/18(金) 21:02:21スクショ見た感じだとブビ厨か?
だったらSystem.Windows.Forms.SplitContainerが使えるだろ
個人的にはSystem.Windows.Forms.Splitter + Dockプロパティで作る方がいいけど
0332デフォルトの名無しさん
2008/07/18(金) 21:36:52入力したキーやボタンを取得して対応した処理に分岐するメッセージディスパッチの基本的コーディング方法を分かり易く解説した
おすすめのホームページを教えてください。SDK,MFCのどちらかでお願いします。
0333デフォルトの名無しさん
2008/07/18(金) 21:47:480334デフォルトの名無しさん
2008/07/18(金) 21:48:540335デフォルトの名無しさん
2008/07/18(金) 21:53:490336デフォルトの名無しさん
2008/07/18(金) 22:07:420337332
2008/07/18(金) 22:56:50ありがとう。勉強してみるよ。
0338デフォルトの名無しさん
2008/07/19(土) 00:19:11再生する動画プレイヤーを作成しています。
受信したストリームをStretchDIBits()で表示していますが
拡大表示すると画像に格子上の細かい線が入ってしまいます。
ブロックノイズのように見えているのでなんとか回避したいんですけど
StretchDIBits()以外の表示方法とかあるでしょうか。
0339デフォルトの名無しさん
2008/07/19(土) 00:20:250340デフォルトの名無しさん
2008/07/19(土) 00:50:51こんなに簡単に解決できるとは思ってなかった(´;ω;`)
0341デフォルトの名無しさん
2008/07/19(土) 00:57:21指定プロセスのウィンドウハンドルを所持していると言う条件で
その指定プロセスが終了した場合、前述のウィンドウハンドルは
無効になると思うのですが、そのウィンドウハンドルを取っ掛かりとして
紐付くプロセスが破棄(終了)されているかどうかを調べるには
IsEnabledWindowを使ったほうがいいのでしょうか?
それとも別APIにウィンドウハンドルを元にプロセスの生き死にを
判定するものが提供されているのでしょうか?
お願いします。
0342デフォルトの名無しさん
2008/07/19(土) 01:02:440343デフォルトの名無しさん
2008/07/19(土) 01:06:35ウィンドウが存在してるかどうか調べるのは
IsWindowEnabledじゃなくてIsWindow。
ただし、IsWindowでFALSEが帰ってきても、
ウィンドウが破棄されただけなのか、
プロセスも終了してるのか見分けつかない。
結論としては、一般的にウィンドウハンドルからプロセスの生死を
判定することはできない。
0344デフォルトの名無しさん
2008/07/19(土) 01:08:590345341
2008/07/19(土) 01:10:05ありがとうございます。
プロセスID、プロセスハンドルから
GetExitCodeProcessの終了ステータスで判断する事にします。
0346デフォルトの名無しさん
2008/07/19(土) 04:13:29ChildWindowFromPointとかWM_NCHITTESTとかGetWindowRectしてPtInRectとか
やり方は色々ありそうだが効率なんて知らん。それぞれ測ってここで報告してくれ
0347デフォルトの名無しさん
2008/07/19(土) 09:09:52開発環境は VC++ 6.0、MFCは使っていません。
800 * 600 ピクセルのメインウィンドウを WS_EX_LAYERED にして、UpdateLayeredWindow() で更新を掛けています。
サーフェスの一部(第5引数に指定する32bitのDIBセクション)の一部だけを転送するような方法が見つからないので、画面を更新する必要がある場合は、800 * 600 ピクセル全体を転送しています。
ウィンドウがドラッグされたり、マウスが押された離された、あるいはマウスが動いた(これは毎回ではないですが)、タイマイベントが来た、という時に再描画が必要です。
会社の Core2 Duo 搭載マシン(3GHzのCPUが2個あるように見える)ではサクサク動くのですが、自宅の CeleronD 2.53GHz のマシンでは、ガクガク・チラチラです。OSは、前者は WndowsXP Pro SP2、後者は WindowsXP Home SP1 です。
具体的にどこが違うか調べてみると、やはり UpdateLayeredWindow() の呼び出しにかかる時間が、前者は 0〜16ms なのに対して、後者は 200〜250ms と大きな開きがありました。(時間計測は timeGetTime() で行いました。)
UpdateLayeredWindow() は比較的高速、と聞いていたのですが、やはりこの位は掛かってしまうものなのでしょうか?
それともこんな大きいウィンドウをレイヤードにする事自体が間違っているのでしょうか?
関数の呼び出し方はこうです。
--------------------------------------------------------------
static POINT ptSrc = {0, 0};
static SIZE sz = {800, 600};
static BLENDFUNCTION bf = {AC_SRC_OVER, 0, 0xff, AC_SRC_ALPHA};
HDC hdc_dst = GetDC(NULL);
HDC hdc_src = CreateCompatibleDC(hdc_dst);
SelectObject(hdc_src, hBitmap); // hBitmap は裏画面のハンドル(32bitDIBセクション)
UpdateLayeredWindow(g_hWnd, hdc_dst, &g_ptWnd, &sz, hdc_src, &ptSrc, 0, &bf, ULW_ALPHA); // g_ptWnd はグローバル
DeleteDC(hdc_src);
ReleaseDC(NULL, hdc_dst);
--------------------------------------------------------------
どなたか、御助言をよろしくお願いします。
0348デフォルトの名無しさん
2008/07/19(土) 11:00:33差分更新範囲が狭いなら、こっちの方が速いかもしれない。
0349デフォルトの名無しさん
2008/07/19(土) 12:06:33IE内でTABキー押しても他のアイテムにフォーカスが行ってしまい
IE内のリンクの移動がTABで出来ません
解決法お願いします!
0350349
2008/07/19(土) 12:09:43IE内でキー入力を有効にするにはどうしたら良いですか
0351デフォルトの名無しさん
2008/07/19(土) 12:42:150352デフォルトの名無しさん
2008/07/19(土) 12:59:31メッセージループがどうなってるか晒してみ
0353デフォルトの名無しさん
2008/07/19(土) 13:17:190354デフォルトの名無しさん
2008/07/19(土) 13:20:56レイヤードウィンドウってハードウェア処理が出来ないと死ぬほど重くなった気がする
具体的には、オンボードVGAとか、VRAMが少ないとか
0355デフォルトの名無しさん
2008/07/19(土) 13:39:46だな。
レイヤードウィンドウが確実にハードウェア処理されるようになったのはVistaのDWMが最初。
それまではかなり運任せなので無茶しない方がいい。
0356デフォルトの名無しさん
2008/07/19(土) 13:52:03ソースは本にのってたのほとんどそのままですお
ttp://www2.uploda.org/uporg1552520.c.html
0357デフォルトの名無しさん
2008/07/19(土) 13:55:180358349
2008/07/19(土) 14:59:03MSG Msg;
while(GetMessageW(&Msg, NULL, 0, 0))
{
if(!IsDialogMessageW(Wnd,&Msg))
{
TranslateMessage(&Msg);
DispatchMessageW(&Msg);
}
}
です。
>>353
探してみます
0359デフォルトの名無しさん
2008/07/19(土) 15:56:160360デフォルトの名無しさん
2008/07/19(土) 18:41:50TranslateAccelerator(アクセラレータ機能の為)を
どちらも機能させるようにしたいのですが、
うまくいきません。
↓行っている処理
if(IsDialogMessage(hWnd, &msg) == FALSE &&
TranslateAccelerator(hWnd, hAccel, &msg) == FALSE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
↑では駄目なのでしょうか?
0361デフォルトの名無しさん
2008/07/19(土) 19:57:28順序を入れ替える(TranslateAcceleratorを先にする)
0363デフォルトの名無しさん
2008/07/19(土) 20:44:35ピクセルごとのアルファを指定したいので、
SetLayeredWindowAttributesでは無理なのです。
>>354, >>355
確かに自宅PCのビデオはオンボードです。
会社PCには確かそれなりのカードが載っていたかも知れません。
DirectXの2Dゲームでは大差は無かったのですが…。
後になって気付いたのですが、状況によっては自宅PCでも割と高速に動く
(UpdateLayerdWindowが40msくらい)時があるようです。
もちろん自プロセス以外のCPU使用率はほぼ0%にしてテストしているのですが。
何が違うのか分かったらまた書き込みます。
0364デフォルトの名無しさん
2008/07/19(土) 22:37:39取得したり設定したりしようと思い、色々調べたのですが
GetWindowTextA(whnd) では "" しか取れず、
GetWindowLong(whnd, GWL_USERDATA); では0しか取れませんでした。
インプットボックスやチェックボックスには何か別の方法があるのだと
思うのですが、分からないので教えてください。お願いします。
0365デフォルトの名無しさん
2008/07/19(土) 22:44:53他のプロセス内のコントロールのテキストを取得するには、GetWindowText 関数を
呼び出すのではなく、直接 WM_GETTEXT メッセージを送ります。
0366デフォルトの名無しさん
2008/07/19(土) 22:59:49そちらに変えてやってみましたが、やっぱり取れません・・・。
数字が入ってるはずなのですが、SPYXX.EXEでも空白にしか見えないです・・・。
ウィンドウのキャプションとして取れない場合、
フォーカス当ててコピーするとかそういう方法しか無いですか?
0367デフォルトの名無しさん
2008/07/19(土) 23:05:06IEはhtmlによるボタン等でウインドウを個別に作らずに自前で描画しているそうです
対象のアプリケーションが同様の方法をとっている可能性はありませんか?
0368デフォルトの名無しさん
2008/07/19(土) 23:06:430369デフォルトの名無しさん
2008/07/19(土) 23:09:29従来の方法はどんどん使えなくなる。
0370デフォルトの名無しさん
2008/07/19(土) 23:10:05ソフトはIEではないですが、もしかすると見た目が似ているだけで
サブクラス化した独自コンポーネントなのかもしれません。
とりあえず取れればなんでもいいので、クリップボード経由で
取れないかを試してみます・・・。
0371デフォルトの名無しさん
2008/07/20(日) 00:26:39アプリケーションプログラム用のインタフェースを備えているんだが、期待しないほうがいいかも。
0372デフォルトの名無しさん
2008/07/20(日) 03:03:200373デフォルトの名無しさん
2008/07/20(日) 12:16:14そこより上では普通に出ます。ncbを削除してもダメです。
出させる方法ありませんか?
0374デフォルトの名無しさん
2008/07/20(日) 12:33:030375デフォルトの名無しさん
2008/07/20(日) 12:38:120376デフォルトの名無しさん
2008/07/20(日) 14:22:300377365
2008/07/20(日) 14:52:000378デフォルトの名無しさん
2008/07/20(日) 14:53:420379ハッカーの神様
2008/07/20(日) 14:58:36どうして僕はハッカーなの?
0380デフォルトの名無しさん
2008/07/20(日) 15:01:24馬鹿だから。
0381デフォルトの名無しさん
2008/07/20(日) 15:03:190382デフォルトの名無しさん
2008/07/20(日) 15:07:14アホだから。
0383デフォルトの名無しさん
2008/07/20(日) 16:23:450384デフォルトの名無しさん
2008/07/20(日) 17:28:42それは「バッカー」だろ
馬は「ハ」とは読まねえよ
小学生の国語からやり直せ
0385デフォルトの名無しさん
2008/07/20(日) 17:31:440386デフォルトの名無しさん
2008/07/20(日) 17:39:410387デフォルトの名無しさん
2008/07/20(日) 17:56:340388デフォルトの名無しさん
2008/07/20(日) 18:12:32コンパイルは通ります。
が、VCのエディタがtypeidを識別子として認識してないんでしょう。
0389デフォルトの名無しさん
2008/07/20(日) 18:54:150390デフォルトの名無しさん
2008/07/20(日) 21:34:37ttp://yokohama.cool.ne.jp/chokuto/urawaza/api/ExtractIconEx.html
ここにある
大きなアイコンと小さなアイコンというのは32pxと16pxですよね
それ以上(たとえば48pxとか)を格納するにはどうしたらいいでしょうか
0391デフォルトの名無しさん
2008/07/20(日) 21:48:30LoadImage
0392ハッカーの神様
2008/07/20(日) 22:06:350393デフォルトの名無しさん
2008/07/20(日) 22:22:43最近 80MB 級の DIB の消去に時間がかかるらしく、次の操作で「応答なし」
になることがあります。VirtualAlloc() - VirturalFree() に替えると、この
現象は出難くなる可能性はありますか。
尚、OS は Vista で 2 GB RAM, AMD Athlon64 X2 デュアルコアで GHz は
定かでありませんが、そんなに遅い CPU ではないだろうと想像します。
0394デフォルトの名無しさん
2008/07/20(日) 22:30:30人の答えを待っている間、それくらい試しにやってみな。
0395デフォルトの名無しさん
2008/07/20(日) 23:04:380396デフォルトの名無しさん
2008/07/20(日) 23:09:09こんな出鱈目書いてる糞サイトが原因だろうなあ・・・
0397デフォルトの名無しさん
2008/07/20(日) 23:11:34実際Win16プログラミングなんてやったことない俺には、
それよりもLocalAllocのほうがよく使われそうな気がするんだけどどうなんだろ。
0398デフォルトの名無しさん
2008/07/20(日) 23:14:43間違ってるのだが。
0399デフォルトの名無しさん
2008/07/20(日) 23:17:310400デフォルトの名無しさん
2008/07/20(日) 23:22:430401ハッカーの神様
2008/07/20(日) 23:24:00HANDLE hHeap = GetProcessHeap();
LPVOID lpvData = (LPVOID)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 1);
HeapFree(hHeap, 0, lpvData);
0402デフォルトの名無しさん
2008/07/20(日) 23:24:580403デフォルトの名無しさん
2008/07/20(日) 23:25:49こういうの傍から見ててもうざい
0404デフォルトの名無しさん
2008/07/20(日) 23:27:15処理系によっては効率のいいメモリ管理してくれたりデバッグビルドでメモリチェックしてくれたりするし
0405ハッカーの神様
2008/07/20(日) 23:30:09ここここここはWin32APIスレなんだよおおおおおおおおおお
それにその手の話はループするから
mallocとかHeapAllocとかは終わりにしようぜ
0406デフォルトの名無しさん
2008/07/20(日) 23:32:43さすが馬ッ鹿ーだな
0408デフォルトの名無しさん
2008/07/20(日) 23:37:00漢字が読めないクソガキは黙ってろ
0410ハッカーの神様
2008/07/20(日) 23:39:510411ハッカーの神様
2008/07/20(日) 23:40:470412デフォルトの名無しさん
2008/07/20(日) 23:52:23お前ある意味つわもの馬鹿だなw
0413デフォルトの名無しさん
2008/07/20(日) 23:53:59まぁWindows自身も糞だけど。
0414デフォルトの名無しさん
2008/07/20(日) 23:58:59Delphiにもない
0415デフォルトの名無しさん
2008/07/21(月) 00:02:57って話が一昔前、このスレで話題になってたっけ
0416デフォルトの名無しさん
2008/07/21(月) 00:06:570417デフォルトの名無しさん
2008/07/21(月) 00:16:540418デフォルトの名無しさん
2008/07/21(月) 00:18:330419デフォルトの名無しさん
2008/07/21(月) 00:21:090420デフォルトの名無しさん
2008/07/21(月) 00:36:070421デフォルトの名無しさん
2008/07/21(月) 00:41:350422393
2008/07/21(月) 07:57:22>>396 氏の指摘は図星だんだけど、他ではお世話になってますからねえ。
98時代は、relocatable なメモリは効率がいいかなと思ったりして、
ついハマッてしまった。
その後、XP 機、Vista 機も CPU は速いから凌げるかなと思ったけど限界
ですかね。#ifdef - #else - #endif の組を何百と組み入れるハメになる。
0423デフォルトの名無しさん
2008/07/21(月) 09:00:150424デフォルトの名無しさん
2008/07/21(月) 09:50:53>>423
Win16で80MBのメモリ確保とか無理だろ。
>>422
だから、Win32以上を相手にする限りVirtualAllocに統一すればいいと思う。
0425デフォルトの名無しさん
2008/07/21(月) 11:32:360426デフォルトの名無しさん
2008/07/21(月) 14:32:330427デフォルトの名無しさん
2008/07/21(月) 16:03:040428422-393
2008/07/21(月) 17:11:35なって、98は GDI リソースがネック。XP になって、1200マン画素
高細の写真でも凌げた。デジカメ板の質問スレに乗っているエロ写真は
2660マンだ。エロもさることながら、自作のアプリがガタつくのは
シャクの種。
0429デフォルトの名無しさん
2008/07/21(月) 18:18:070430デフォルトの名無しさん
2008/07/21(月) 21:33:230431ハッカーの神様
2008/07/21(月) 21:35:43対象コントロールをサブクラス化するか
単純にボタンがDisabledならEnableWindowでいいんじゃないかな!!!!
0432デフォルトの名無しさん
2008/07/21(月) 21:45:20どうもありがとうございます。
EnableWindowってそのまんまなAPIがあったのですね、助かりました。
0433ハッカーの神様
2008/07/22(火) 00:06:59Win32API板のIRCって無いんだっけ?
0434デフォルトの名無しさん
2008/07/22(火) 00:26:360435ハッカーの神様
2008/07/22(火) 00:30:09ちょwwwwwww
いや、まじめな話IRC立てたら面白いかなとか思ったんだけどどうよ
つーかミスったな名無しで発言するつもりだったのに
コテハン記憶してた/(^o^)\
0436デフォルトの名無しさん
2008/07/22(火) 00:31:54IRCよりは掲示板のほうがいい
同時刻にログインするのは非現実的だし
入りっぱなしにしておくメリットもなさそうだから
0437ハッカーの神様
2008/07/22(火) 00:34:37なるほど
それに匿名じゃないと中々白熱した議論って
わけにはいかないだろうしね
いや、たまたまこういうのを見ておもしれーなと思っただけなんだ
http://d.hatena.ne.jp/goinger/20070814/1187111616
0438デフォルトの名無しさん
2008/07/22(火) 00:47:21うにっくす とは言わないが20人程度常駐しているようなチャンネルなら有益かもしれない
他の人の話を聞くだけでも参考になるから
IRCは匿名サーバもあったと思う
そこなら気に入らなかったらハンドル変えればいいだけ
0439ハッカーの神様
2008/07/22(火) 02:19:206667
#Win32API
IRC超初心者だが匿名で作ったつもり
0440ハッカーの神様
2008/07/22(火) 02:20:410441ハッカーの神様
2008/07/22(火) 04:00:31後、匿名だと言うことを確認できた
0442デフォルトの名無しさん
2008/07/22(火) 04:00:500443デフォルトの名無しさん
2008/07/22(火) 05:44:240444デフォルトの名無しさん
2008/07/22(火) 06:55:40IRCなんか人が集まるわけないだろ・・・
0445デフォルトの名無しさん
2008/07/22(火) 06:59:400446デフォルトの名無しさん
2008/07/22(火) 07:08:300447デフォルトの名無しさん
2008/07/22(火) 07:53:420448デフォルトの名無しさん
2008/07/22(火) 07:56:010449デフォルトの名無しさん
2008/07/22(火) 07:57:41大量に使ったのはアメリカ。軽量化したのは日本人で、中国人は鯖とかコピって広めた。
最終的に姦国が起源を主張する。
0450デフォルトの名無しさん
2008/07/22(火) 08:00:260451ハッカーの神様
2008/07/22(火) 08:30:326667
#Win32API
誰かこないか
多分俺は夜にならないといないけどな
誰が入ってるとか発言したとかは見えない(anonymousになる)から
存分に馬鹿な質問するといい。
0452デフォルトの名無しさん
2008/07/22(火) 09:12:450453デフォルトの名無しさん
2008/07/22(火) 09:33:44そして帰ってくんな
0454デフォルトの名無しさん
2008/07/22(火) 09:41:590455デフォルトの名無しさん
2008/07/22(火) 10:22:01透明色を何色にすればいいんでしょうか?
0456デフォルトの名無しさん
2008/07/22(火) 10:31:34「最大化されている」と「最小化されている」の他に
「最大化したまま最小化されている」という状態は取れるのでしょうか?
showCmdメンバがSW_SHOWMAXIMIZEDかどうかを見て状態を保存していたのですが、
上記の3番目の状態だとshowCmdがSW_SHOWMAXIMIZEDにならず、
次回起動時に通常状態で表示されてしまいました。
0457デフォルトの名無しさん
2008/07/22(火) 12:18:460458デフォルトの名無しさん
2008/07/22(火) 12:19:29右クリックして保存
0459デフォルトの名無しさん
2008/07/22(火) 12:26:20顔うpスレってVIPのだよな
俺昔そのプログラム作ったぜ
0460デフォルトの名無しさん
2008/07/22(火) 12:28:28まず何をしたらいいの?まさか自動でwindowsキー押して、何押して、何押してってやってくんじゃないでしょ。どうすりゃいいの?
0461デフォルトの名無しさん
2008/07/22(火) 12:31:54まずプログラミング言語を勉強しような。
C/C++でもC#でもDelphiでもVBでもいいから。
0462デフォルトの名無しさん
2008/07/22(火) 12:34:32Cの基礎だけじゃ足りないの?ネットとどうリンクさせるかが知りたいんだけど・。
0463デフォルトの名無しさん
2008/07/22(火) 12:44:40WinSockを検索して、入門サイトを勉強するよろし
0464デフォルトの名無しさん
2008/07/22(火) 12:44:44CならWinsockでググれば解説もサンプルもいっぱい見つかるよ。
0465デフォルトの名無しさん
2008/07/22(火) 12:55:41>>464
ありがとう
0466デフォルトの名無しさん
2008/07/22(火) 17:10:18flagsのWPF_RESTORETOMAXIMIZEDは駄目?
0467デフォルトの名無しさん
2008/07/22(火) 17:28:49showCmd == SW_SHOWMINIMIZED かつ flags & WPF_RESTORETOMAXIMIZED のときは、
showCmd == SW_SHOWMAXIMIZED のときと同様に次回起動時は最大化
とやってしまえばよさそうです。
ありがとうございます。
0468デフォルトの名無しさん
2008/07/22(火) 19:23:11NULLしか返って来なかったりしますか?
0469デフォルトの名無しさん
2008/07/22(火) 19:40:43試してから聞けカス
0470デフォルトの名無しさん
2008/07/22(火) 19:44:19もちろん試して出来なかったから聞いてるってw
検索の綴り間違えて引っかからなかっただけでした
すみません、どうやら出来ないみたいなので呼び出し元で初期化する事にします。
0471デフォルトの名無しさん
2008/07/22(火) 19:46:460472470
2008/07/22(火) 19:50:13WM_INITDIALOGは呼ばれないみたいです?たぶん・・・
WM_CREATEは呼ばれるんですが
0473デフォルトの名無しさん
2008/07/22(火) 19:52:45どうやら根本から分かっていないようだ
0474デフォルトの名無しさん
2008/07/22(火) 20:12:42このサンプルではWM_INITDIALOGを受け取っているぞ。
http://blogs.msdn.com/oldnewthing/archive/2003/11/13/55662.aspx
0475ハッカーの神様
2008/07/22(火) 21:51:410478ハッカーの神様
2008/07/22(火) 23:30:36俺はただ何の前触れも無く誰かが
「○○ってどうやるの?」
という屑な質問を発言し
「○○使えよチンカスが!」
と誰かが受け応えする殺伐とした状況を想像して
IRCを立てたから馴れ合うつもりは到底ない
それにあやしい系のIRCもそうだけど
匿名IRCは到底馴れ合うような場所・状況じゃないと言っておこう
0479デフォルトの名無しさん
2008/07/22(火) 23:44:16馬鹿を除いて
0481デフォルトの名無しさん
2008/07/22(火) 23:57:550482ハッカーの神様
2008/07/23(水) 00:27:110483デフォルトの名無しさん
2008/07/23(水) 15:32:232chブラウザやIEのフレームなど、マウスで移動できるウィンドウ
(境界に来るとマウスの形が「←||→」みたいになる奴)
はどのように作ればいいのですか?
検索キーワードだけでもいいから教えてください
0484デフォルトの名無しさん
2008/07/23(水) 15:39:471からAPIで書きたいのか、どっかのライブラリ利用したいのかで変わってくるが。
0485デフォルトの名無しさん
2008/07/23(水) 15:56:07>>327-331
0486デフォルトの名無しさん
2008/07/23(水) 16:18:41タスクマネージャーで見るとメモリ使用量が4MB、
仮想メモリサイズが1.7MBになっていました。
ソフトを作る場合、大体これが最小のメモリ消費量でしょうか?
0487デフォルトの名無しさん
2008/07/23(水) 17:02:400488デフォルトの名無しさん
2008/07/23(水) 17:05:350489デフォルトの名無しさん
2008/07/23(水) 17:33:04メッセージウィンドウやコンソールウィンドウではなく
CreateWindowとWS_OVERLAPPEDWINDOW | WS_VISIBLEで
ウィンドウを表示するタイプの場合のメモリ使用量でも最小ではないでしょうか
もしならないならもう少し詳しくご教授ください
0490デフォルトの名無しさん
2008/07/23(水) 17:40:303GBと言う人がいれば、4Gと言う人もいる。どっち?
0491デフォルトの名無しさん
2008/07/23(水) 17:42:38悩むくらいなら4G積めばいい
3G だとデュアルチャネル使うために 512Mx2 とか妙なものを手に入れないといけない
0492デフォルトの名無しさん
2008/07/23(水) 17:43:11いくつまで認識できるかはチップセットやマザーボード、拡張ボード次第。
4GBと言ってるのは、最近のサービスパックで積んだだけ表示するようになったからじゃないかな。
ってスレ違いじゃ
0493デフォルトの名無しさん
2008/07/23(水) 17:44:54ProcessWalkerかなんか使って、実際何にどれだけメモリ使われてるか調べてみれば
0494デフォルトの名無しさん
2008/07/23(水) 17:50:26標準ランタイムの初期化とかでさ
crt0.c とかそういうのがソースについてれば追えるかもね
0496デフォルトの名無しさん
2008/07/23(水) 18:22:07プロセスヒープ or デフォルトヒープで調べると幸せになれるかも知れない
0497デフォルトの名無しさん
2008/07/23(水) 18:54:12ありがとん。ちょっと難解ですが、がんばってみます。どうもでした
0498ハッカーの神様
2008/07/23(水) 22:43:20irc.scenecritique.com
6667
#Win32API
以下は別件。
教えてください。
FindFirstChangeNotification使って特定のフォルダ内の
テキストデータなどを監視する処理を実装していたのですが、
監視対象が更新され監視ハンドルがシグナル状態になった後
FindNextChangeNotificationを呼び出しても非シグナル状態になりません。
逆にFindNextChangeNotificationを呼び出した後
パラメータに使用した監視ハンドルでWaitForSingleObjectを
2度呼び出すと非シグナル状態になってくれるんですが
これはFindNextChangeNotificationの仕様なのでしょうか?
0499ハッカーの神様
2008/07/23(水) 22:46:110500デフォルトの名無しさん
2008/07/23(水) 22:53:400501デフォルトの名無しさん
2008/07/23(水) 22:55:42知らないならレスするなボケ
0502ハッカーの神様
2008/07/23(水) 23:00:53IRCの誰かが教えてくれた
実験というかテストはエディタでしかやってないから多分
エディタのその辺じゃないかと思われ。
因みにエディタは秀丸
>>500
その関数は知らなかった
ファイル監視に関しては地味に高機能だなw
そういう意味で俺も別のAPI探すべきだったか
0503デフォルトの名無しさん
2008/07/24(木) 01:03:280504デフォルトの名無しさん
2008/07/24(木) 11:30:300505デフォルトの名無しさん
2008/07/24(木) 11:56:170506デフォルトの名無しさん
2008/07/24(木) 11:59:380507デフォルトの名無しさん
2008/07/24(木) 12:00:550508デフォルトの名無しさん
2008/07/24(木) 12:01:58できました!
ありがとうございます!
0509デフォルトの名無しさん
2008/07/24(木) 12:02:450510デフォルトの名無しさん
2008/07/24(木) 12:05:150511デフォルトの名無しさん
2008/07/24(木) 12:08:55FindFirstFileしてるのにわざわざGetAttributesしなおすのか?
0512デフォルトの名無しさん
2008/07/24(木) 12:10:24属性みないとフォルダかどうかわからんってことだろ馬鹿
0513デフォルトの名無しさん
2008/07/24(木) 12:11:050514デフォルトの名無しさん
2008/07/24(木) 12:16:24GetFileAttributesだろバカ共
0515デフォルトの名無しさん
2008/07/24(木) 12:19:290516デフォルトの名無しさん
2008/07/24(木) 12:21:05今は夏休み。これ以上いわなくてもわかるよな?
0517デフォルトの名無しさん
2008/07/24(木) 12:21:070518デフォルトの名無しさん
2008/07/24(木) 12:22:060519デフォルトの名無しさん
2008/07/24(木) 12:23:290520デフォルトの名無しさん
2008/07/24(木) 12:26:390521デフォルトの名無しさん
2008/07/24(木) 12:27:340522デフォルトの名無しさん
2008/07/24(木) 12:28:400523デフォルトの名無しさん
2008/07/24(木) 12:30:05夏休みとか関係ねーよ
お前ら年中休みだろうが
0524デフォルトの名無しさん
2008/07/24(木) 12:35:42誰にでも出来る簡単なボランティアです
0525デフォルトの名無しさん
2008/07/24(木) 13:38:050526デフォルトの名無しさん
2008/07/24(木) 13:41:54夏に暴れる人を放置ができず、とにかく「夏だな」と言い出し、
それによってなぜか相手より優位に立ってると思い、
荒れの元となりスレ住民全体に迷惑をかける存在。
【特徴】
・とにかく文中に「夏だな」を入れないと気がすまない
・スレの流れや空気を読めず、反応してしまう
・普通のスレ住人は夏厨を放置しているのに自分だけが過剰に反応してしまう
・夏厨に反応している時点で夏厨と同類であることに気づいていない
0527デフォルトの名無しさん
2008/07/24(木) 13:45:410528デフォルトの名無しさん
2008/07/24(木) 14:01:470529デフォルトの名無しさん
2008/07/24(木) 14:02:570530デフォルトの名無しさん
2008/07/24(木) 14:15:370531デフォルトの名無しさん
2008/07/24(木) 14:17:340532デフォルトの名無しさん
2008/07/24(木) 14:27:51ありがとうございました!
0533デフォルトの名無しさん
2008/07/24(木) 14:32:380534デフォルトの名無しさん
2008/07/24(木) 14:37:000535デフォルトの名無しさん
2008/07/24(木) 14:48:320536デフォルトの名無しさん
2008/07/24(木) 15:32:030537533
2008/07/24(木) 16:26:53ひきつづきアドバイスお願いします!
0538デフォルトの名無しさん
2008/07/24(木) 16:35:57波 音 が響けば 雨雲ぉが近ぁづくぅ
0539デフォルトの名無しさん
2008/07/24(木) 16:41:140540デフォルトの名無しさん
2008/07/24(木) 16:45:190541デフォルトの名無しさん
2008/07/24(木) 16:45:530542デフォルトの名無しさん
2008/07/24(木) 16:51:440544デフォルトの名無しさん
2008/07/24(木) 18:45:55で、何故かHPのタイトルじゃなくてHPのURLが取れてしまうんだけど、、、
本当はHPのタイトルを取得したいのに、、、解決法
教えてください
0545デフォルトの名無しさん
2008/07/24(木) 18:54:290546デフォルトの名無しさん
2008/07/24(木) 19:22:570547デフォルトの名無しさん
2008/07/24(木) 19:23:470548デフォルトの名無しさん
2008/07/24(木) 19:27:190549デフォルトの名無しさん
2008/07/24(木) 19:34:320550544
2008/07/24(木) 19:35:05できたよ!!
0551デフォルトの名無しさん
2008/07/24(木) 19:36:250552デフォルトの名無しさん
2008/07/24(木) 19:42:450553デフォルトの名無しさん
2008/07/24(木) 19:46:170554デフォルトの名無しさん
2008/07/24(木) 21:36:03たとえば、(hoge プログラム)でhogeとプログラムでマッチするサイトが検索できたりするのを
Cとwin32apiで実現させたいと思ってます。アルゴリズムまたは作成方法を提示できる方いますか?
ネットで使うわけではありません。検索アルゴリズムが知りたいです。
0555デフォルトの名無しさん
2008/07/24(木) 21:59:44検索アルゴリズムを知る前にGoogle検索して調べる事を学びましょう
0556デフォルトの名無しさん
2008/07/24(木) 22:01:02ありがとうございました
0557デフォルトの名無しさん
2008/07/24(木) 22:01:310558デフォルトの名無しさん
2008/07/24(木) 22:16:200559デフォルトの名無しさん
2008/07/24(木) 22:22:340560554
2008/07/24(木) 23:03:590561デフォルトの名無しさん
2008/07/24(木) 23:06:410562デフォルトの名無しさん
2008/07/24(木) 23:07:201:クロールする。
検索対象ドキュメントを集めてくる。
2:インデックスを作る
ドキュメントを単語に分割して、ドキュメントに対応する単語群を特定し、結果を貯めておく。
3:倒置インデックスを作る
インデックスを元に、単語に対応するドキュメント群を特定し、結果を貯めておく。
4:検索する
倒置インデックスから、単語をキーに対応するドキュメント群を特定し、要求元に結果を返す。
0563デフォルトの名無しさん
2008/07/25(金) 00:30:38でOK
0564デフォルトの名無しさん
2008/07/25(金) 00:36:560565デフォルトの名無しさん
2008/07/25(金) 00:45:050566デフォルトの名無しさん
2008/07/25(金) 00:52:15ポインタを返すAPIなんてほとんどねーよバーカ
0567デフォルトの名無しさん
2008/07/25(金) 00:58:230568デフォルトの名無しさん
2008/07/25(金) 01:07:110569デフォルトの名無しさん
2008/07/25(金) 01:13:346006と6009を取れるやつ教えてくれー
0570デフォルトの名無しさん
2008/07/25(金) 01:18:45BOOL HttpFindNextClawledDocument(HANDLE hFind, LPWIN32_GGL_DATA lpGglData)
実在するとしたらせいぜいこんな感じだろ
嘘臭い釣りは面白くないよ
0571デフォルトの名無しさん
2008/07/25(金) 01:36:56.NETでなら最近見た
0572デフォルトの名無しさん
2008/07/25(金) 02:07:270573デフォルトの名無しさん
2008/07/25(金) 02:10:320574デフォルトの名無しさん
2008/07/25(金) 02:11:000575デフォルトの名無しさん
2008/07/25(金) 02:13:270576デフォルトの名無しさん
2008/07/25(金) 02:13:280577デフォルトの名無しさん
2008/07/25(金) 02:33:40セキュリティー保護のためにネットワーク/ファイルアクセスをチャックして
接続先アドレスがホワイトリストにない場合など
DLLの実行を停止させたり、ユーザーに「○○へ接続してよいですか?」などの
ダイアログを表示させるには、どういったAPIを使えばよいでしょうか?
0578デフォルトの名無しさん
2008/07/25(金) 02:43:24チャックして
チャックして
0579デフォルトの名無しさん
2008/07/25(金) 03:29:32ストレスが溜まる原因は
自分自身にあると考えて改善してみよう。
もしくは、体壊すか事件起こす前に仕事やめなさい。
0580デフォルトの名無しさん
2008/07/25(金) 07:55:510581デフォルトの名無しさん
2008/07/25(金) 09:53:580582デフォルトの名無しさん
2008/07/25(金) 09:58:100583デフォルトの名無しさん
2008/07/25(金) 10:01:340584デフォルトの名無しさん
2008/07/25(金) 10:08:41あるDLLが存在し、仮に名前をXとする
Xの機能を利用したいが、Xは(2chやアングラサイトで拾ったものなので)信頼できない
Xにアクセス制限を課して悪さができないようにしたい
どのような方法がありますか?
ってことか
0585デフォルトの名無しさん
2008/07/25(金) 10:26:440586デフォルトの名無しさん
2008/07/25(金) 11:09:320587デフォルトの名無しさん
2008/07/25(金) 11:47:14Windows Filtering Platformに統合されちゃったんだよね
0588デフォルトの名無しさん
2008/07/25(金) 12:18:51セキュリティソフト使えばいいだろうが
0589デフォルトの名無しさん
2008/07/25(金) 12:30:380590デフォルトの名無しさん
2008/07/25(金) 12:39:420591デフォルトの名無しさん
2008/07/25(金) 12:40:42何も入れずにネット繋いでる馬鹿は今すぐ回線切っとけ
0592デフォルトの名無しさん
2008/07/25(金) 13:16:23SendMessage(TB_GETBUTTONINFO, 3, (LPARAM)&info);
これでツールバーの3番目のボタン情報がとれないんですが助けてお願いします
0593デフォルトの名無しさん
2008/07/25(金) 13:18:34TBBUTTONINFO info;
SendMessage(hwnd, TB_GETBUTTONINFO, 3, (LPARAM)&info);
これでツールバーの3番目のボタン情報がとれないんですが助けてお願いします
0594デフォルトの名無しさん
2008/07/25(金) 13:42:53SendMessageの前に
ZeroMemory(&info , sizeof(TBBUTTONINFO));
info.cbSize = sizeof(info);
info.dwMask = TBIF_XXXX;
0595デフォルトの名無しさん
2008/07/25(金) 15:15:18> info.cbSize = sizeof(info);
今時こんな書き方する人いるんだ・・・
TBBUTTONINFO info = { sizeof(TBBUTTONINFO) };
でいいのに
0596デフォルトの名無しさん
2008/07/25(金) 15:21:14それがカッコいいと思ってる馬鹿を晒し上げwwwwwwwwwwwwwwww
0597デフォルトの名無しさん
2008/07/25(金) 15:25:060598デフォルトの名無しさん
2008/07/25(金) 15:28:120599デフォルトの名無しさん
2008/07/25(金) 15:39:300600デフォルトの名無しさん
2008/07/25(金) 15:42:14カッコいいとかじゃなくて常識だよ
C言語の初歩から勉強しなおそうね。
0601デフォルトの名無しさん
2008/07/25(金) 15:43:330602デフォルトの名無しさん
2008/07/25(金) 15:44:42初歩的な事も分かってない奴に何が出来るんだよ
0603デフォルトの名無しさん
2008/07/25(金) 15:45:340605デフォルトの名無しさん
2008/07/25(金) 15:47:51>今時こんな書き方する人いるんだ・・・
^^^^^^
>C言語の初歩から勉強しなおそうね
^^^^^
だれかこの馬鹿の矛盾を教えてあげてよw
0606デフォルトの名無しさん
2008/07/25(金) 15:48:32#include <stdio.h>
main()
{
static int a;
a = 1;
static int b;
*(char*)&b = 1;
printf("a=%d, b=%d\n", a, b);
}
結果的には同じ答えが出るが、
お作法としては最悪。子供の教育には良くない。
0607デフォルトの名無しさん
2008/07/25(金) 15:49:520608デフォルトの名無しさん
2008/07/25(金) 15:51:14反論できなくなると人格攻撃をするしかなくなるヤツ
0609デフォルトの名無しさん
2008/07/25(金) 15:52:04お前恥かしいよ
0610デフォルトの名無しさん
2008/07/25(金) 15:52:30ANSI Cに準拠していない古いコンパイラなら>>594の書き方をする必要があるが
今時のコンパイラなら>>595で問題無いのでわざわざ手間のかかる書き方するのは馬鹿
0611デフォルトの名無しさん
2008/07/25(金) 15:54:040612デフォルトの名無しさん
2008/07/25(金) 15:56:08出来る限り完結に書く方が良いのはコーディングの基本
0613デフォルトの名無しさん
2008/07/25(金) 15:56:080614デフォルトの名無しさん
2008/07/25(金) 15:59:34その前にお前は国語の勉強をしたほうがいいよ?w
0615デフォルトの名無しさん
2008/07/25(金) 16:01:18その場合でも = {};か = {0};で初期化することはできるな。わざわざZeroMemoryなんぞ使わんでも。
0616デフォルトの名無しさん
2008/07/25(金) 16:01:40サイズを格納するメンバのある構造体は Win32 で定義されている物なら必ず先頭にある
むしろ cbSize とは限らない (MEMORYSTATUS や WINDOWPLACEMENT など) ので
Win32 プログラマなら >>595 の書き方をする癖をつけておいた方が無難だし
実際 WTL などはこの書き方で統一されている
0617デフォルトの名無しさん
2008/07/25(金) 16:01:59元の質問者のコードに手をつけない形で答えたんだがな。
0618デフォルトの名無しさん
2008/07/25(金) 16:03:06ここ何スレだと思ってるんだ
0619デフォルトの名無しさん
2008/07/25(金) 16:04:33余計なあやつけるヒマなやろうは出てくるとは思ったけどな。
0620デフォルトの名無しさん
2008/07/25(金) 16:05:370621デフォルトの名無しさん
2008/07/25(金) 16:06:00夏休みだからこういう連中が沸くのは仕方ないのかねぇ
0622デフォルトの名無しさん
2008/07/25(金) 16:06:29最近覚えた知識を披露したくてうずうずしてたんだろうな。
0623デフォルトの名無しさん
2008/07/25(金) 16:07:59>>593の1行目を
TBBUTTONINFO info = { sizeof(TBBUTTONINFO), TBIF_XXXX };
にすればいい
とレスしておけば荒れずに済んだ訳だが。
0624デフォルトの名無しさん
2008/07/25(金) 16:09:55暑さで脳溶けてるの?
0625デフォルトの名無しさん
2008/07/25(金) 16:11:40どうせ宿題なんてしないから暇だし
0626デフォルトの名無しさん
2008/07/25(金) 16:11:510627デフォルトの名無しさん
2008/07/25(金) 16:12:17ありがとうございます^^
0628デフォルトの名無しさん
2008/07/25(金) 16:12:41IDocHostUIHandlerを使ってIWebBrowser2の右クリックメニューを独自の物にしたいんですが
IDocHostUIHandlerの実装の方法がわかりません!
だれか教えてくださいm(_ _)m
調べてみたけど具体的な実装方法が見つからなかった・・・
0629デフォルトの名無しさん
2008/07/25(金) 16:13:040630デフォルトの名無しさん
2008/07/25(金) 16:13:500631デフォルトの名無しさん
2008/07/25(金) 16:14:370632デフォルトの名無しさん
2008/07/25(金) 16:15:59本人乙
0633デフォルトの名無しさん
2008/07/25(金) 16:17:01とりあえずこいつは質問に答えてないから消えてよし。
0634デフォルトの名無しさん
2008/07/25(金) 16:19:13どうしてこうも連日変な奴が来るのかね・・・
.NET信者がスレを潰そうとでもしているのか?
0635デフォルトの名無しさん
2008/07/25(金) 16:20:22お前のそのレスが基地外を呼び込んでるのがわからんのか?
つーか、荒らしてるのお前じゃねえの?
0636634
2008/07/25(金) 16:21:270637577
2008/07/25(金) 16:27:29>ネットワークの接続やファイル操作に使うAPIを全部フックする、とかかなぁ
ネットワーク/ファイルアクセスに関するAPIフックは考えたのですが、その場合、
IEに「http://www.hoge.com/get?uname=xxxx&pass=zzzz」みたいなURLを渡すケースは
チェックをすり抜けてしまいます。
個別に自分で対応していくしかなさそうですね。。
0638628
2008/07/25(金) 16:31:240639デフォルトの名無しさん
2008/07/25(金) 16:31:51そういうのって最近のファイアウォールのアウトバウンド防御でちゃんとチェックしてくれると思うが。
他のプロセスにDLLインジェクションしてネットワークアクセスするようなのもチェック入るし。
てか、そういうセキュリティ対策ソフトを作りたいのか?
0640デフォルトの名無しさん
2008/07/25(金) 16:35:180641デフォルトの名無しさん
2008/07/25(金) 16:36:08>>526
0642デフォルトの名無しさん
2008/07/25(金) 16:47:00>>535
0643デフォルトの名無しさん
2008/07/25(金) 16:52:17>>640
0645デフォルトの名無しさん
2008/07/25(金) 17:22:05その手のソフトは大抵ドライバ組み込んでカーネルモードでゴニョゴニョしてるだろうから
Win32の範囲外だと思う・・・
0646デフォルトの名無しさん
2008/07/25(金) 18:56:40http://www.itmedia.co.jp/news/articles/0807/25/news090.html
ドライバはドライバーと書かないと
0647デフォルトの名無しさん
2008/07/25(金) 19:02:09どう読んでも次のWindowsからだろ。
0648デフォルトの名無しさん
2008/07/25(金) 19:03:140649デフォルトの名無しさん
2008/07/25(金) 19:04:130650デフォルトの名無しさん
2008/07/25(金) 19:08:14なんでだろう。
0651デフォルトの名無しさん
2008/07/25(金) 19:08:280652デフォルトの名無しさん
2008/07/25(金) 19:09:410653デフォルトの名無しさん
2008/07/25(金) 19:14:01もちろんJISは知ってた
0654デフォルトの名無しさん
2008/07/25(金) 19:15:15コンパイラー
デザイナー
デバッガー
エディター
並べて書くと間が抜けてて嫌だ。
断固拒否するぞ
0655デフォルトの名無しさん
2008/07/25(金) 19:18:530656デフォルトの名無しさん
2008/07/25(金) 19:27:13MSは日本なんてもうほとんど眼中に無いだろ
MSKBは機械翻訳だらけだしIMEは中国製だしDreamSparkとか日本は後回しにされてたし
0657デフォルトの名無しさん
2008/07/25(金) 19:31:25こんな感じですか
0658デフォルトの名無しさん
2008/07/25(金) 19:32:040659628
2008/07/25(金) 19:46:37のコピペで動いたんですけど
IEのイベントが全部MyDocHandlerの関数になってしまって困ってます
ShowContextMenuだけ有効にするのはどうしたらいいですか?
0660デフォルトの名無しさん
2008/07/25(金) 20:11:18メェニヂャーのケンストラクターでフォウルダー名を指すポインターを受け取ってメンバー変数に保存します
実際の発音に表記を合わせるならこうしろよなー
0661デフォルトの名無しさん
2008/07/25(金) 20:13:09>メェニヂャー
異議あり!
0662デフォルトの名無しさん
2008/07/25(金) 20:16:16ǽだからマェニヂャーの方が近いのかな?
maryがメリーかメアリーかマリーか、みたいな話だな
0663デフォルトの名無しさん
2008/07/25(金) 20:42:51○コピーペー
ってことですね
0664デフォルトの名無しさん
2008/07/25(金) 20:53:250665デフォルトの名無しさん
2008/07/25(金) 21:28:340666デフォルトの名無しさん
2008/07/25(金) 21:47:410667デフォルトの名無しさん
2008/07/25(金) 21:54:25レコォダァ
マインスイィパァ
プリンタァ
バッファァ
インストォラァッー
スクリィンセィヴァァ
0668デフォルトの名無しさん
2008/07/25(金) 21:59:13英語出来ないのがバレバレだな
0669デフォルトの名無しさん
2008/07/25(金) 22:17:460670デフォルトの名無しさん
2008/07/25(金) 22:19:070671デフォルトの名無しさん
2008/07/25(金) 22:29:37バッファァ(笑)
こんな英語力じゃこの国の将来は暗いな
0672デフォルトの名無しさん
2008/07/25(金) 22:31:140673デフォルトの名無しさん
2008/07/25(金) 22:34:230674デフォルトの名無しさん
2008/07/25(金) 22:35:570675デフォルトの名無しさん
2008/07/25(金) 22:36:24"工具棒"とか噴いた事あるけどw
0676デフォルトの名無しさん
2008/07/25(金) 22:39:00computer, printer, etc...
0677デフォルトの名無しさん
2008/07/25(金) 22:53:00禿同
「ようこそ」とかナメてんのかって思うよ、ほんと
0678デフォルトの名無しさん
2008/07/25(金) 22:54:32エンジニアが>>657こんなうざい文章を受け入れるとは思えん
0679デフォルトの名無しさん
2008/07/25(金) 23:02:190680デフォルトの名無しさん
2008/07/25(金) 23:15:59どうせVisual Studioの表記も変わるだろ。
0681デフォルトの名無しさん
2008/07/25(金) 23:17:400682デフォルトの名無しさん
2008/07/25(金) 23:18:230683デフォルトの名無しさん
2008/07/25(金) 23:20:540684デフォルトの名無しさん
2008/07/25(金) 23:28:11ttp://download.microsoft.com/download/b/3/4/b34f7185-afca-4846-8fbf-672a1b9afce2/jpn-jpn-StyleGuide.zip
これの「3.1.3 カタカナ」でも読んでろ
0685デフォルトの名無しさん
2008/07/26(土) 00:19:200686デフォルトの名無しさん
2008/07/26(土) 00:30:27変かどうかなんてお前の主観だろ
何らかのルールを設けて統一性を図る方が大事だと思うよ
そのルールを今になって変えようとしているのが理解できんが
0687デフォルトの名無しさん
2008/07/26(土) 00:38:010688デフォルトの名無しさん
2008/07/26(土) 04:13:30WINDOWSの仕様上、やっぱ無理?
0689デフォルトの名無しさん
2008/07/26(土) 07:31:59背景&壁紙-デスクトップアイコンと、親子ウィンドウで構成されている。
少なくとも、オーバーラップウィンドウとかは無理なんじゃないかな。
0690デフォルトの名無しさん
2008/07/26(土) 08:58:180691デフォルトの名無しさん
2008/07/26(土) 11:41:210692デフォルトの名無しさん
2008/07/26(土) 12:15:44その親ウィンドウをDestoryWindowしたら子ウィンドウのボタンとかは
DestroyWindowしなくても問題なし?
こんなの↓
DestoryWindow(hButton);
DestoryWindow(hEdit);
・・・
最後に
DestoryWindow(hDialog);
0693デフォルトの名無しさん
2008/07/26(土) 12:25:15ttp://msdn.microsoft.com/en-us/library/ms632682.aspx
> If the specified window is a parent or owner window, DestroyWindow automatically destroys the associated child or owned windows
> when it destroys the parent or owner window.
0694デフォルトの名無しさん
2008/07/26(土) 12:27:32日本語で書け馬鹿
0695デフォルトの名無しさん
2008/07/26(土) 12:28:000696デフォルトの名無しさん
2008/07/26(土) 12:45:560697デフォルトの名無しさん
2008/07/26(土) 13:00:08ティティピィ://エムエスディエヌ.マイクロソフト.コム/エン―ユーエス/ライブラリ/エムエスロクサンニロクハチニ.エーエスピーエックス
>イフザスペシファイドウィンドウイズアペアレントオアオーナーウィンドウ,デストロイウィンドウオートマティカリーデストロイズジアソシエイテッドチャイルドオアオウンドウィンドウズ
>ホェンイットデストロイズザペアレントオアオーナーウィンドウ.
0698デフォルトの名無しさん
2008/07/26(土) 13:31:05なんというエネルギーの無駄遣い
0699デフォルトの名無しさん
2008/07/26(土) 13:33:25力の使いどころを間違えなければきっと成長できるはず。
0700デフォルトの名無しさん
2008/07/26(土) 14:02:090701692
2008/07/26(土) 14:35:57>機能は、それからそれを非活性化して、キーボード焦点を取り除くために
>WM_DESTROYとWM_NCDESTROYに窓へのメッセージを送ります。 機能は、
>また、窓のメニューを無効にして、糸のメッセージキューを洗い流して、タイマを破壊して、
>クリップボード所有権を取り除いて、クリップボードビューアーチェーンを壊します
>(窓がビューアーチェーンの先端にあるなら)。
>
>親か所有者の窓を滅ぼすとき、指定された窓が親か所有者の窓であるなら、
>DestroyWindowは自動的に関連子供か所有されている窓を滅ぼします。
>機能は最初に子供か所有されている窓を滅ぼします、そして、次に、
>それは親か所有者の窓を滅ぼします。
>
>また、DestroyWindowはCreateDialog機能によって作成された
>modelessダイアログボックスを破壊します。
つまり、親ウィンドウを一発DestoryWindowしておけば大丈夫ってこと?
0702デフォルトの名無しさん
2008/07/26(土) 14:38:11ってありますか?
0703デフォルトの名無しさん
2008/07/26(土) 14:54:06で
WM_MOUSELEAVE
0704デフォルトの名無しさん
2008/07/26(土) 16:21:06ありがとうございました。
0705デフォルトの名無しさん
2008/07/26(土) 18:37:20『WinAPIリファレンス』(最新版じゃなきゃ駄目?)
『猫でも分かるWindows〜』
を購入しようと思っているのですが。
0706デフォルトの名無しさん
2008/07/26(土) 19:04:090707デフォルトの名無しさん
2008/07/26(土) 20:45:05Windowsとゲームぷpr はかぶってる内容が多かった
あとは赤坂れおん著くらいのしか知らないなぁ
一冊読んでだいたい理解したらあとは、ぐぐってぐぐってぐぐるんだ
0708デフォルトの名無しさん
2008/07/26(土) 21:04:12「赤坂れおん」‥‥‥避けたほうが。
0709デフォルトの名無しさん
2008/07/26(土) 21:12:020710デフォルトの名無しさん
2008/07/26(土) 22:20:320711デフォルトの名無しさん
2008/07/26(土) 23:55:48MS製で32/64ビットWindowsで使えるAPIなら
なんでも広義のWin32 APIだと思っている俺。
0712デフォルトの名無しさん
2008/07/26(土) 23:59:230713デフォルトの名無しさん
2008/07/27(日) 01:24:59あれってどうやって認証を引き継いでるの?socketで同じように認証を引き継ぎたいんだけど
そもそも、HTTPで認証を複数回に渡って引き継げるの?
毎回認証情報をサーバーに渡さないとダメなんじゃないの?
0714デフォルトの名無しさん
2008/07/27(日) 01:50:19アメリカの一民間企業が、日本の工業規格を変えようとしてんだぞ。
アメリカの一民間企業が、日本人の生活習慣を変えようとしてんだぞ。
いいのか?これで!
0715デフォルトの名無しさん
2008/07/27(日) 01:59:14つーか終わった話題持ち出すなよ
0716デフォルトの名無しさん
2008/07/27(日) 08:58:15Wininetの認証情報をsocketが知ってるわけないだろ。
何もせずに認証引き継ぎたいならWininet使え。
socket使うんだったら当然httpヘッダも全部自前で書くだろ。
認証情報はhttpヘッダに乗って渡される。
0717デフォルトの名無しさん
2008/07/27(日) 12:20:47どれくらい消費するのですか?
0718デフォルトの名無しさん
2008/07/27(日) 13:01:14つかvistaから無意味になっている気がせんでもない
0719デフォルトの名無しさん
2008/07/27(日) 13:07:22タスクマネージャで見たところ変化なかったつまり気にすんなということですね、
わかりました。
0720デフォルトの名無しさん
2008/07/27(日) 13:30:20計測しても意味ないような気がする。
0721デフォルトの名無しさん
2008/07/27(日) 13:33:34何もしてない癖に「気がする」とか言ってんじゃねーよ
0722デフォルトの名無しさん
2008/07/27(日) 14:32:410723デフォルトの名無しさん
2008/07/27(日) 14:49:260724デフォルトの名無しさん
2008/07/27(日) 14:55:010725デフォルトの名無しさん
2008/07/27(日) 18:49:440726デフォルトの名無しさん
2008/07/27(日) 18:52:510727デフォルトの名無しさん
2008/07/27(日) 18:53:000728デフォルトの名無しさん
2008/07/27(日) 18:59:07来なくていいよ^^
0729デフォルトの名無しさん
2008/07/27(日) 19:00:030730デフォルトの名無しさん
2008/07/27(日) 19:02:32はやく帰ってね^^
0731デフォルトの名無しさん
2008/07/27(日) 19:59:410732デフォルトの名無しさん
2008/07/27(日) 19:59:420733デフォルトの名無しさん
2008/07/27(日) 20:46:400734デフォルトの名無しさん
2008/07/27(日) 21:39:300735デフォルトの名無しさん
2008/07/28(月) 00:57:320736デフォルトの名無しさん
2008/07/28(月) 02:00:270737デフォルトの名無しさん
2008/07/28(月) 02:33:19メッセージプロシジャでWM_CHARが送られてきた時、
OnKeyDownという関数にwpとlpをそのまま渡しています。
そして、押されたキーが"v"だった時だけ処理をしたいのでstrcmpを使ってみたのですが
そこで強制終了してしまいます。正しくはどう書いたらよいのでしょうか?
教えてください。お願いします。
OnKeyDown(WPARAM wp, LPARAM lp)
{
switch(wp)
{
case VK_RETURN:
break;
〜
略
〜
default:
if(strcmp((char*)wp,"v") == 0)
{
//キーがvだった時の処理
}
}
strcmpの前にメッセージボックスでwpの中身を確認しようとしたのですが、
同じように落ちました。どうもwpをchar*にキャストしようとすると落ちるみたいなのですが・・・
0738デフォルトの名無しさん
2008/07/28(月) 02:37:100739デフォルトの名無しさん
2008/07/28(月) 02:37:33http://www.google.co.jp/codesearch?q=lang:c+WM_CHAR
0740デフォルトの名無しさん
2008/07/28(月) 02:47:380741デフォルトの名無しさん
2008/07/28(月) 02:57:050742デフォルトの名無しさん
2008/07/28(月) 02:57:330743デフォルトの名無しさん
2008/07/28(月) 02:59:39ヒィーヒッヒッヒ
0744デフォルトの名無しさん
2008/07/28(月) 03:00:03しらねーけど
0745デフォルトの名無しさん
2008/07/28(月) 03:01:26>>740のヒントで>>739をみるとこれが参考になるんじゃないかと・・・
> if(msg->message==WM_CHAR && msg->wParam=='\t') return 0;
0746デフォルトの名無しさん
2008/07/28(月) 03:18:36知らないならレスしないでね
0747737
2008/07/28(月) 03:41:47vキーの検出は>>744の書き方でうまく取れました。
取れたのですが、、すいません。
実際やりたいのはCtrl+vの検出でした・・・
WM_KEYDOWNでVK_CONTROLを拾ってm_bCtrlとかいうメンバ変数にフラグを立てつつ、
WM_CHARで"v"を拾えればCtrl+vを調べられる、
と思い、"v"の拾い方を質問したわけなのです。
結果としてv単独ではうまく拾えたのですが
本来の目的であるCtrlとの同時押しだと引っかかりませんでした。
(WM_CHARにはv単独押しのときとは違うコードが送られてくるらしく。)
なのですいませんが質問を変更させてください。
Ctrl+vの検出はどうしたらいいんでしょうか?
0748デフォルトの名無しさん
2008/07/28(月) 03:46:31解決しました。
お騒がせしました。ありがとうございました。
0749デフォルトの名無しさん
2008/07/28(月) 03:48:340750725
2008/07/28(月) 05:49:430751デフォルトの名無しさん
2008/07/28(月) 07:03:320752デフォルトの名無しさん
2008/07/28(月) 07:34:05HeapCreate(), HeapAlloc() 系がいいかなと既存の GlobalAlloc()
から変更を進めていますが、GetProcessHeap 以外に Heap を確保
する、特に複数確保すると HeapAlloc() - HeapFree() の度にどの
HANDLE のものか憶えて置かないといけない。
とすると、メモリ表を持って、確保ー解放の度にそれを見に行くこと
になる。そんなことを皆さんしているのですか。それとも Heap は
1つで済ませているのですか。
複数の Heap は面倒だから、VirtualAlloc() かとも思うと、これは
小さいメモリには不向きという。ウーン悩ましい。アドバイスを。
(2GB RAM があって、一時メモリはたかだか 100MB しか使わないの
に、なんでこんなに悩まないといけないか、不思議。)
0753デフォルトの名無しさん
2008/07/28(月) 08:39:57それ以下でも別に良いけどね
今の時代メモリなんて腐るほど積んであるから
0754デフォルトの名無しさん
2008/07/28(月) 11:25:40今Imeの登録および消去できるプログラムをCで作成中です。
やりたいことは現在ユーザー登録している単語を全て消去です。
ImmEnumRegisterWordで登録してある単語を全て列挙して、
そのコールバック関数の先で、
見つかった登録情報をImmUnregisterWordに渡してそのまま消そうとしてます。
現状このロジックだとImmUnregisterWordの関数自体は成功しているのに、
消し漏れがあります。量的には約300語消すと5個ぐらい消し漏れが常にあります。
何か原因とかありますか?
もし今消してもOKとか、今消したらダメとか、ステータスが拾える関数とかあれば、いいのですが・・・
0755デフォルトの名無しさん
2008/07/28(月) 11:43:50そのコントロールの種類(エディットボックス、コンボボックスとか)
がわかるAPIかあれば教えていただけないでしょうか?
文字を入力できるコントロールかだけでもわかるとよいのですが
0756デフォルトの名無しさん
2008/07/28(月) 11:47:22俺ならリストに記録しておいて、列挙が終わってから削除するけど。
0757デフォルトの名無しさん
2008/07/28(月) 11:47:470758デフォルトの名無しさん
2008/07/28(月) 12:23:33開発言語によってはTEditとかThunderRT6TextBoxみたいな名前だからそれでは無理だろう
0759755
2008/07/28(月) 12:24:35レスありがとうございます
なるほど、作られた言語によっていろんなクラス名がありそうですが
いろんなソフトのコントロールのクラス名を今からちょっと調べてみます
0761デフォルトの名無しさん
2008/07/28(月) 12:37:00つーかクラス名なんて開発者が好きな名前で付けれるし
テキストエディタでよくある自作Editコントロールだとどんな名前付いてるか分からんし
Afx:xxxx〜とかATL:xxxx〜みたいなライブラリが勝手につけた汎用的な名前だと
クラス名だけで判別するなんて無理
0762766
2008/07/28(月) 12:57:33ですね
数点調べてみたんですが無理そうです
IEのアドレスボックス=Edit
メモ帳=Edit
EmEditorエディター部=EmEditorView
ワードパッド=RichEdit20W
Outlookメール本文入力欄、google検索ボックス=Internet Explorer_Server
Beckyメール本文入力欄=DanaEditWindowClass
Jane Doeレス入力欄=TTntMemo.UnicodeClass
Delphi製
デフォでTEdit,TComboBox,TMemoとか
0763755
2008/07/28(月) 12:59:040764デフォルトの名無しさん
2008/07/28(月) 13:09:31それをハンドルから判別できる方法なんてあるわけない
0765755
2008/07/28(月) 13:32:16できないようにできますもんね…
できないとわかるだけでも助かりました。ありがとうございます!
0766デフォルトの名無しさん
2008/07/28(月) 14:29:42入力を受け付けるか調べるだけならWM_GETDLGCODEで何とかならんか?
もちろんコントロールがこのメッセージを正しく処理していればの話だが。
0767デフォルトの名無しさん
2008/07/28(月) 15:02:03システムフックで任意のウィンドウを操作するプログラムを作成しているのですが、
奇妙な問題に直面しています。プログラムのリストビューにフォーカスした瞬間
プログラムが応答しなくなり、システムダウンしてしまいます。WM_COPYDATAメッセージの
送信がこの現象のトリガーになっているようですが、原因が分からず対応に苦慮しています。
WM_COPYDATAメッセージの情報は正しく受け渡され、フックの処理には成功しています。
開発環境はVC++ 2008 Express Editionです。WindowsXP SP3で動作確認しています。
0768デフォルトの名無しさん
2008/07/28(月) 15:12:440769デフォルトの名無しさん
2008/07/28(月) 16:53:00何か良い方法はありませんか?
WM_SETCURSORやTrackMouseEventを使ってみたのですが、クライアント領域から
抜けた事を正しく検知できませんでした。
0770デフォルトの名無しさん
2008/07/28(月) 16:57:070771デフォルトの名無しさん
2008/07/28(月) 16:59:290772754
2008/07/28(月) 17:06:29レスありがとうございます。
確かに列挙中に消すのは不安だったので、
早速「列挙→メモリ内に展開→展開したものを元に削除」
に作り変えてみました。
・・・結果同じでしたorz。
0773769
2008/07/28(月) 17:07:04自己解決しました。
結果的にTrackMouseEventで処理できました。
0774デフォルトの名無しさん
2008/07/28(月) 17:15:04外したか。失礼。これこそ「知らないならレスするな」だったな。
0775デフォルトの名無しさん
2008/07/28(月) 17:23:18列挙に漏れはなく、削除に失敗するということですね
0776デフォルトの名無しさん
2008/07/28(月) 17:39:26どうせ「メモリ内に展開」の部分でバグってるだけだろ
0777デフォルトの名無しさん
2008/07/28(月) 17:42:22失敗しない気がするのは止めながらやってるからかなー
0778デフォルトの名無しさん
2008/07/28(月) 17:54:050779デフォルトの名無しさん
2008/07/28(月) 17:57:03オマエ何者だ?
0780デフォルトの名無しさん
2008/07/28(月) 17:57:420781デフォルトの名無しさん
2008/07/28(月) 18:41:14知らないならレスしないでください
0782デフォルトの名無しさん
2008/07/28(月) 20:10:580783デフォルトの名無しさん
2008/07/28(月) 20:34:31はずれ
0784デフォルトの名無しさん
2008/07/28(月) 20:35:250785デフォルトの名無しさん
2008/07/28(月) 20:42:55HeapCreateで複数のハンドルを使うときは、
HeapDestroyでまとめて解放したり、
スレッドや処理・用途ごとにヒープを使い分けたりとか、
どのハンドルで解放すべきかがコードを見れば自ずと分かる使い方をすることが多いと思う。
そういうメモリ表は聞いたことがないな。
0786デフォルトの名無しさん
2008/07/28(月) 21:00:45こういう理屈ばかりこねてる頭の固い人ってプログラマに向いてないと思うよ
ていうかその程度のメモリ管理で悩むぐらいならJavaや.NETで作れば?
0787デフォルトの名無しさん
2008/07/28(月) 21:20:260788デフォルトの名無しさん
2008/07/28(月) 21:40:440789デフォルトの名無しさん
2008/07/28(月) 21:50:440790デフォルトの名無しさん
2008/07/28(月) 23:41:09CreateDC("winspool",PRINTER_NAME,0,0)
とやるとVBが落ちるんだけど、どうすればいいの?
環境はWINXP SP3です。
0791デフォルトの名無しさん
2008/07/29(火) 00:04:50.netじゃないVBって落ちすぎなんだよなー
サブクラス中にブレークポイントで止まると開発環境が固まるとかマジ有り得ん
0792デフォルトの名無しさん
2008/07/29(火) 01:22:53リストビューコントロールで,リストアイテムの行をドラッグしてアイテム位置を入れ替えたいと思っています.
LVN_BEGINDRAG でドラッグの開始を検知して,ドラッグ終了時の行位置に挿入しようと考えていたんですが,
ドラッグの終了はどうやって検知すればいいんでしょうか?
LVN_ENDDRAG は windows mobile/CE だけにしか無いようですし,マウスのボタンが離されたメッセージが
送られてくる様子もないです.
Timer をつかってマウスボタンを常時監視する方法も考えたんですが,どうもスマートじゃないですよね.
何か定法があるんでしょうか?
0793デフォルトの名無しさん
2008/07/29(火) 01:43:280794デフォルトの名無しさん
2008/07/29(火) 06:07:22こんな感じで入れたいのですが、_stdcallのせいかエラーになってしまいます。
DWORD WINAPI (*p)(LPVOID) = ThreadFunc;
0795デフォルトの名無しさん
2008/07/29(火) 06:27:35或いは
DWORD (WINAPI *p)(LPVOID);
*((void**)&p) = (void*)ThreadFunc;
0796デフォルトの名無しさん
2008/07/29(火) 07:16:51なるほど、ありがとうございます。
0797754
2008/07/29(火) 09:13:16>>774
いえいえ。マジレスをいただけただけでありがたいです。
助かりました。
>>775
そうです。一応展開部と削除部でログ出力して同じものが
出力されているのは確認しています。
そして実行後にIMEに残っている登録もそのログに出力されていました。
>>776
同上。
>>777
毎回違うものが残ります。残る数は同じ。
なんとなくですが残る法則として読みの順番を並べて同じ塊が連続で残り、
実行するたびそれが徐々にずれる感じです。
0798デフォルトの名無しさん
2008/07/29(火) 12:14:11LPTHREAD_START_ROUTINE p = ThreadFunc;
でいいじゃん
馬鹿?
0799デフォルトの名無しさん
2008/07/29(火) 12:19:15厳密には関数ポインタはvoid*に入れちゃいけないんだけどな
互換性ないから
0800デフォルトの名無しさん
2008/07/29(火) 12:21:490801799
2008/07/29(火) 12:27:210802デフォルトの名無しさん
2008/07/29(火) 12:35:42そもそも >>794 の書き方が間違ってるのにわざわざ変なキャストしてまでそれに合わせる必要なんて無いし
変な書き方を教えると碌な事にならないだろう
0803デフォルトの名無しさん
2008/07/29(火) 12:39:49そのものずばり答えるよりは。
0804デフォルトの名無しさん
2008/07/29(火) 12:51:395版はもうすぐでそう?
0805デフォルトの名無しさん
2008/07/29(火) 12:53:020806デフォルトの名無しさん
2008/07/29(火) 13:10:30このWindows Via C/C++が5版にあたるらしい。
http://www.amazon.co.jp/dp/0735624240
http://forums.microsoft.com/msdn-ja/ShowPost.aspx?siteid=7&PostID=2546615&SiteID=7
0807デフォルトの名無しさん
2008/07/29(火) 13:39:24値段がいきなり変わったなー
できれば日本語版がほしいから、翻訳されるの待つか
0808デフォルトの名無しさん
2008/07/29(火) 13:43:360809760-752
2008/07/29(火) 14:19:10普通はお説の通り。
こちらの事情を晒しても意味はないけど、このソフト LSI86-C 以来のもので
18年。ソース追加追加で15万行。FM がルーツ。
画像をウインドウに表示するのに、MDI で新規に開いて window long にその
ポインタなどを渡している。ウインドウを閉じるときそのデータは捨てるのだが
あれこれで Alloc しているとどれで取ったものか分からない。1つに絞ると
HeapReAlloc() が捨てがたい。しかし画像はデカイのがある。てな訳。
メモリ表って言ったのは、jpeg ソースが似たことをやっていた。そのパクリ。
0810デフォルトの名無しさん
2008/07/29(火) 14:25:580811デフォルトの名無しさん
2008/07/29(火) 14:42:240812デフォルトの名無しさん
2008/07/29(火) 14:53:02外からはそれを意識せず使えるようにするって感じにするね。
C でも似たようにはできるはず。
0813デフォルトの名無しさん
2008/07/29(火) 14:55:570814デフォルトの名無しさん
2008/07/29(火) 15:02:500815デフォルトの名無しさん
2008/07/29(火) 15:05:450816デフォルトの名無しさん
2008/07/29(火) 15:06:12根本的に手を入れないなら触らずにそっとしとけよ・・・
0817デフォルトの名無しさん
2008/07/29(火) 15:09:08まあ、夏休みだしな。
0818デフォルトの名無しさん
2008/07/29(火) 15:10:47同意が欲しけりゃ質問するな
0819デフォルトの名無しさん
2008/07/29(火) 15:12:250820デフォルトの名無しさん
2008/07/29(火) 15:12:33知らないならレスしないで下さい。ウザイです。
0821デフォルトの名無しさん
2008/07/29(火) 15:17:400822デフォルトの名無しさん
2008/07/29(火) 15:38:09第6部が丸々無くなってしまったのね。
新しくできたError Reporting and Application Recoveryは読みたいけど、
Advanced〜を持っていたらわざわざ買うほどでもないかな。
0823デフォルトの名無しさん
2008/07/29(火) 16:32:470824デフォルトの名無しさん
2008/07/29(火) 16:33:46たまに埋もれて忘れられるけどなw
0825デフォルトの名無しさん
2008/07/29(火) 16:43:230826デフォルトの名無しさん
2008/07/29(火) 16:51:400827デフォルトの名無しさん
2008/07/29(火) 16:53:270828デフォルトの名無しさん
2008/07/29(火) 16:56:260829デフォルトの名無しさん
2008/07/29(火) 16:59:030830デフォルトの名無しさん
2008/07/29(火) 17:01:460831デフォルトの名無しさん
2008/07/29(火) 17:02:260832デフォルトの名無しさん
2008/07/29(火) 17:04:160833デフォルトの名無しさん
2008/07/29(火) 17:18:180834デフォルトの名無しさん
2008/07/29(火) 17:36:190835デフォルトの名無しさん
2008/07/29(火) 18:09:15責任取れ馬鹿>>809
0836デフォルトの名無しさん
2008/07/29(火) 19:04:230837デフォルトの名無しさん
2008/07/29(火) 19:17:560838デフォルトの名無しさん
2008/07/29(火) 19:23:43マジできもい
絶望的にもてないだろお前らww
0839809-752
2008/07/29(火) 19:25:57そうも思うよ。けど適当にからかい材料で楽しまれている見たいだし・・・。
>>818
同意というより、相場の感触だな。大体分かってきた。今、HGLOBAL という
用語をいくつかの用途に分けて、いくつかの別の名前に置換している。
今のところ、全部 #define chomechome HGLOBAL だけどね。そのうち #ifdef
で一斉に切り替える。
>>812
その準備はマある。GlobalAlloc() を直接使っているのは数箇所のみ。
以前のコードを生かすため myMalloc(), myNewHandle(), myNewPtr() など
の中から呼んでいるから。しかしここ10年つい HGLOBAL の型名を直接
移動可能変数に使ったのが最大の敗因ね。
他のレスをくれた方、いろいろ有難う。
0840デフォルトの名無しさん
2008/07/29(火) 19:34:570841デフォルトの名無しさん
2008/07/29(火) 20:06:52自分で処理したメッセージも DefWindowProc() に回すのは
何か意図があるのでしょうか?
通常は自分で処理したメッセージは0を返すと思うのですが,
何か意図があるかもしれないので修正するべきか迷っています.
LONG __stdcall WndProc(UINT uMsg, UINT wp, LONG lp)
{
switch (uMsg) {
case WM_PAINT:
OnPaint(wp, lp);
break;
// return 0L;
}
return (DefWindowProc(hWnd, uMsg, wp, lp));
}
0842デフォルトの名無しさん
2008/07/29(火) 20:11:27WM_PAINTはBeginPaint/EndPaintをちゃんと呼んでるなら回さないでいい
0843デフォルトの名無しさん
2008/07/29(火) 20:29:31以前,サブクラス化したプロシージャで全てのメッセージを
CallWindowProc(DefWndProc, hWnd, uMsg, wp, lp);
に回しているためにフォーカスが返ってこないというバグを修正した
事があったので気になりました.
メインのウィンドウプロシージャだと動き自体はおかしくならないようですが,
気になるのでOnPaintの中を見直して修正します.
ありがとうございました.
0844デフォルトの名無しさん
2008/07/29(火) 23:42:25こういうの、普通typedefで書くだろ・・・
なんだか
> こちらの事情を晒しても意味はないけど、このソフト LSI86-C 以来のもので
> 18年。ソース追加追加で15万行。FM がルーツ。
がネタに思えてきた
0845デフォルトの名無しさん
2008/07/30(水) 00:10:54ただ、今頃になってGlobalAllocがどうとか言い出すのは妙な気がする。
10年くらいほったらかしだったんじゃね?
0846デフォルトの名無しさん
2008/07/30(水) 01:06:260847デフォルトの名無しさん
2008/07/30(水) 03:38:45ノード数が200ほどあるツリービューのアイテムを再構築する際に
TreeView_DeleteAllItems
で一度全削除してから、再度ツリービューを再構築しています
ツリービューのアイテム構築はサクサク動くのですが
意外に全削除の動作が遅いです(1秒ぐらいかかる)
ツリービューのリフレッシュ目的で TreeView_DeleteAllItems を読んだのですが
もっと高速なツリービュー初期化ってあるのでしょうか?
よろしくお願いします
0848デフォルトの名無しさん
2008/07/30(水) 03:45:21CodeProjectかどこかに強引に改善するソースが落ちてた気がする
0849デフォルトの名無しさん
2008/07/30(水) 04:00:30有名な話だったんですかー、今回で初めて知りました
色々と検索してみましたが
仮想リストビュー辺りが参考になりそうな予感がします
ありがとうございました
0850839-752
2008/07/30(水) 07:48:51>>393 に最初に書き込んだように、これまで気にもしなかった。
「応答なし」頻発で腰を上げたところ。「応答なし」でぐぐると Vista では
他のアプリでも出るらしい。Xp でも出てたらしいけど。探っていたら
GlobalFree() が時間がかかるらしいって分かったから、なんとかしようと
思い始めた。この暑い中、後ろ向きの作業だ。
0851デフォルトの名無しさん
2008/07/30(水) 10:24:40しつこいんだよ
自分で効率のいいメモリ管理が出来ない奴は.netに移植してろ
0852デフォルトの名無しさん
2008/07/30(水) 10:29:010853デフォルトの名無しさん
2008/07/30(水) 10:29:460854デフォルトの名無しさん
2008/07/30(水) 10:29:510855デフォルトの名無しさん
2008/07/30(水) 10:43:100856デフォルトの名無しさん
2008/07/30(水) 10:45:020857デフォルトの名無しさん
2008/07/30(水) 10:48:59↑こんな書き方してる時代遅れプログラマ(実は初心者か?)なら
今からC#でも勉強して.netに移植した方が幸せになると思うがね
どうせGlobalAlloc以外にも問題山積だろ
0858デフォルトの名無しさん
2008/07/30(水) 11:08:55中級者以上になるとあんな糞コード見てられない
玄人ぶろうと必死でググって書いた文章がこれか
> こちらの事情を晒しても意味はないけど、このソフト LSI86-C 以来のもので
> 18年。ソース追加追加で15万行。FM がルーツ。
大体LSI86-Cって何だよ。お前が作ったコンパイラか?w
> LSI86-C に一致する日本語のページ 1 件中 1 - 1 件目 (0.02 秒)
0859デフォルトの名無しさん
2008/07/30(水) 11:12:410860デフォルトの名無しさん
2008/07/30(水) 11:31:57>>850
もう来ないでね
0861デフォルトの名無しさん
2008/07/30(水) 11:38:30ウィンドウメッセージの送信元のウインドウハンドルを取得したいんですが、
どうすれば良いんでしょうか?
送信元のアプリは自分で作る訳ではないので、ウインドウメッセージ内にハンドルを格納する、というのは無理です。
自アプリに対して、誰がどのようなメッセージを送信してきているのかを把握したいんです。
Spy++等で受信しているメッセージは見れるんですが、送信元が分からないもんで・・・。
よろしくお願いいたします。
0862デフォルトの名無しさん
2008/07/30(水) 11:55:08ムリ
0863デフォルトの名無しさん
2008/07/30(水) 12:00:500864デフォルトの名無しさん
2008/07/30(水) 12:09:530865デフォルトの名無しさん
2008/07/30(水) 12:18:030866デフォルトの名無しさん
2008/07/30(水) 12:22:34LSI C-86だって察してあげようよ、初心者なんだから。
0867デフォルトの名無しさん
2008/07/30(水) 12:24:040868デフォルトの名無しさん
2008/07/30(水) 12:25:490869デフォルトの名無しさん
2008/07/30(水) 12:28:50訳:かまってほしいな
ってことですよ
0870デフォルトの名無しさん
2008/07/30(水) 12:37:21VirtualAlloc丸投げ(それでも解放はHeapFreeで)って話なかったっけ?
それだったら、全部HeapAllocでいいじゃない。
そもそもmallocとかvectorとか言語固有の方法使えばいいって前にも言っている奴いたよな。
0871デフォルトの名無しさん
2008/07/30(水) 12:48:57だいたい最近ってどういう定義だ
0872デフォルトの名無しさん
2008/07/30(水) 12:51:14もういいって
人の話を聞かない馬鹿はほっとけよ
0873デフォルトの名無しさん
2008/07/30(水) 12:52:46お前はレスするな荒れる
0874デフォルトの名無しさん
2008/07/30(水) 13:04:06正直ウザイだけ
0875デフォルトの名無しさん
2008/07/30(水) 13:10:280876デフォルトの名無しさん
2008/07/30(水) 13:12:280877デフォルトの名無しさん
2008/07/30(水) 13:13:250878デフォルトの名無しさん
2008/07/30(水) 13:36:34間違っています。
以上。
はい次の方。
0879デフォルトの名無しさん
2008/07/30(水) 13:50:18夏だな厨って言う馬鹿
↓
0880デフォルトの名無しさん
2008/07/30(水) 13:54:510881デフォルトの名無しさん
2008/07/30(水) 13:57:37ただの馬鹿
0882デフォルトの名無しさん
2008/07/30(水) 14:24:040883デフォルトの名無しさん
2008/07/30(水) 14:27:010884デフォルトの名無しさん
2008/07/30(水) 14:30:070885デフォルトの名無しさん
2008/07/30(水) 14:39:210886デフォルトの名無しさん
2008/07/30(水) 14:56:370887デフォルトの名無しさん
2008/07/30(水) 15:07:390888デフォルトの名無しさん
2008/07/30(水) 15:09:290889デフォルトの名無しさん
2008/07/30(水) 15:10:390890デフォルトの名無しさん
2008/07/30(水) 15:17:210891デフォルトの名無しさん
2008/07/30(水) 15:19:050892デフォルトの名無しさん
2008/07/30(水) 15:28:050893デフォルトの名無しさん
2008/07/30(水) 15:32:47EN_IMECHANGE マスクは、IMEの変換待ち文字列が、キータイプなどで変更した時(例えば、「あいう」が「あいうえ」になった時)に勝手に送出されるメッセージ、という理解で大丈夫でしょうか??
また、EN_IMECHANGEが「通知される」とは、どこに向かって通知されるのでしょうか?メッセージの向かい先がよく分かっていません。どなたかご教示頂けると幸いです。
0894デフォルトの名無しさん
2008/07/30(水) 15:32:500895デフォルトの名無しさん
2008/07/30(水) 16:37:53SendInputを使うために、
#include <windows.h>
をする前に
#define _WIN32_WINNT 0x0500
としているのですが、
エラー 16 error C3861: 'SendInput': 識別子が見つかりませんでした
となってしまい、ビルドできません。
OSはWindows XP SP3です。
どうしたらいいかお分かりになる方、よろしくお願いします。
0896デフォルトの名無しさん
2008/07/30(水) 16:59:27include文からSendInputの記述までたどれる?
0897デフォルトの名無しさん
2008/07/30(水) 17:04:580898895
2008/07/30(水) 17:12:53リビルドしてもだめでした
>include文からSendInputの記述までたどれる?
これはwinuser.hの5106行にある
#if (_WIN32_WINNT > 0x0400)から#endif
までのことでいいのでしょうか?
0899デフォルトの名無しさん
2008/07/30(水) 17:17:210900デフォルトの名無しさん
2008/07/30(水) 17:20:040901デフォルトの名無しさん
2008/07/30(水) 17:22:330902895
2008/07/30(水) 17:24:48#define _WIN32_WINNT 0x0500
#include <windows.h>
以下他に必要なものをインクルードして、WinMain関数になってます。
WinMain関数があるファイルが一番最初にコンパイルされると思ってたんですが、もしかして違うんでしょうか。
あと、#define _WIN32_WINNT 0x0500をしていると、SendInputを使おうとしなくても
atlcom.h(147) : error C2065: 'COINIT_MULTITHREADED' : 定義されていない識別子です。
が出てしまいます。
0903デフォルトの名無しさん
2008/07/30(水) 18:14:14そもそもATL使ってるなら#include <windows.h>なんて必要ない (ATLが内部でincludeする)
0904デフォルトの名無しさん
2008/07/30(水) 19:30:20LONG pre = ::GetWindowLong( hWnd, GWL_EXSTYLE );
if(rate == 255){
pre &= ~WS_EX_LAYERED;
}else
if(rate>=0 && rate<255){
pre |= WS_EX_LAYERED;
}
::SetWindowLong( hWnd, GWL_EXSTYLE, pre );
::SetLayeredWindowAttributes(hWnd,
((key&255)<<16)|(key&0xff00)|((key>>16)&255) ,
static_cast<BYTE>(rate) , key != -1 );
}
現在こんな感じで半透明ウィンドウを実現しようとしているのですが、うまくいきません。
具体的にはウィンドウが画面の外にはみ出している時でないと後ろの画面に描画内容が
焼きついてしまったり、半透明になる値を設定しても透明にしかならなかったりするのです。
OSはXPでコンパイラはBCCです。よろしくお願いします
0905デフォルトの名無しさん
2008/07/30(水) 19:58:10むちゃくちゃすぎる
0906デフォルトの名無しさん
2008/07/30(水) 21:27:320907デフォルトの名無しさん
2008/07/30(水) 21:35:190908デフォルトの名無しさん
2008/07/30(水) 21:51:44すみません、WM_SIZEから出来ました、
0909デフォルトの名無しさん
2008/07/30(水) 21:55:10どこがむちゃくちゃすぎるんだよ ソースが読みにくいだけだろ
適当な事言うなクズ
0910904
2008/07/30(水) 22:35:06変なとこ直したんですが、やはりクライアント領域が一部でも画面外に出てないと
裏の画面に写ってしまいます。何か足りないんでしょうか?
void GameWindow::setTransparent(int key,unsigned char rate,int flag){
if((flag | LWA_ALPHA | LWA_COLORKEY)==0)return;
LONG pre = ::GetWindowLong( hWnd, GWL_EXSTYLE ),tmp=pre;
if(flag | LWA_ALPHA){
if(rate == 255)pre &= ~WS_EX_LAYERED;
else pre |= WS_EX_LAYERED;
}
if(tmp != pre)::SetWindowLong( hWnd, GWL_EXSTYLE, pre );
::SetLayeredWindowAttributes(hWnd , RGB(key>>16,key>>8,key) , static_cast<BYTE>(rate) , flag );
}
描画はDirectXを使ってます。
0911デフォルトの名無しさん
2008/07/30(水) 22:58:480912デフォルトの名無しさん
2008/07/30(水) 23:04:330913デフォルトの名無しさん
2008/07/30(水) 23:13:53その問題とは関係ないけど、if文の中身が常に偽だったり、常に真だったりしてるから、見直したほうがいい。
0914デフォルトの名無しさん
2008/07/30(水) 23:20:31そんなのコンパイラの最適化で消えるから気にしなくていいだろ
0915デフォルトの名無しさん
2008/07/30(水) 23:25:310916デフォルトの名無しさん
2008/07/30(水) 23:26:41pgr
0917デフォルトの名無しさん
2008/07/30(水) 23:33:54if((flag | LWA_ALPHA | LWA_COLORKEY)==0)return;
if(flag | LWA_ALPHA){
この程度なら最適化されるだろ
0918デフォルトの名無しさん
2008/07/30(水) 23:35:150919デフォルトの名無しさん
2008/07/30(水) 23:49:58EndDialog()の際にその構造体のポインタ値を返し、
ダイアログ呼び出し側で使って開放、
なんて事やってるんですが、なんか他にいい方法ってないもんですかね
0920デフォルトの名無しさん
2008/07/30(水) 23:57:14これっていいのか?と思ってヘッダ見たら
EndDialogの第2引数ってintじゃなくてINT_PTRなのかw
0921デフォルトの名無しさん
2008/07/31(木) 00:12:17MFCのCDialogクラスみたいな奴を作ればいいんじゃねーの
0922デフォルトの名無しさん
2008/07/31(木) 00:59:38どなたかよろしくお願いしますーm(_ _)m
0923デフォルトの名無しさん
2008/07/31(木) 01:11:13>>894
0924850-752
2008/07/31(木) 08:51:440925デフォルトの名無しさん
2008/07/31(木) 12:17:17訳:かまってほしいな
0926デフォルトの名無しさん
2008/07/31(木) 12:19:10当たっています。
以上。
はい次の方。
0927デフォルトの名無しさん
2008/07/31(木) 12:54:18はずれ
0928デフォルトの名無しさん
2008/07/31(木) 13:36:240929デフォルトの名無しさん
2008/07/31(木) 13:50:000930デフォルトの名無しさん
2008/07/31(木) 13:53:280931デフォルトの名無しさん
2008/07/31(木) 14:16:450932デフォルトの名無しさん
2008/07/31(木) 14:20:550933デフォルトの名無しさん
2008/07/31(木) 14:25:240934デフォルトの名無しさん
2008/07/31(木) 14:44:000935デフォルトの名無しさん
2008/07/31(木) 14:53:450936デフォルトの名無しさん
2008/07/31(木) 14:57:510937デフォルトの名無しさん
2008/07/31(木) 14:59:050938デフォルトの名無しさん
2008/07/31(木) 18:58:30表示文字のサイズを変更する方法、
知ってる人いたら、教えてください。
ボタンのウィンドウプロシージャを、
SetWindowLongPtr使って自前の物にして、
WM_PAINTメッセージを処理したら、
背景色が表示されなくなりました・・・。
0939デフォルトの名無しさん
2008/07/31(木) 19:00:39GetObject
CreateFontIndirect
WM_SETFONT
0940デフォルトの名無しさん
2008/07/31(木) 19:44:47何か違いあります?プリンタドライバによってはTextOutはまずいとか
0941デフォルトの名無しさん
2008/07/31(木) 19:46:430943デフォルトの名無しさん
2008/07/31(木) 20:11:40フォントを使った出力の方がいいという事か( ´ω`) サンクス
0944デフォルトの名無しさん
2008/07/31(木) 23:43:25そのIEの状態をWaitForSingleObjectで監視するPGMを作ってみたのですが、
XPではちゃんと動くもののVistaだとまだシグナル状態になっていないのに
制御が戻ってきてしまいます。
どうもUACの所為っぽいのですが、UACを無効にする以外で期待する動作を
させる方法ってありますでしょうか??
0945デフォルトの名無しさん
2008/08/01(金) 00:21:38ヴィン32アピーで合ってますかね?
後輩からも質問がされました
0946デフォルトの名無しさん
2008/08/01(金) 00:23:33Windowsをヴィンドウズと呼んでいるなら後は何も言うまい。
0947デフォルトの名無しさん
2008/08/01(金) 00:27:360948デフォルトの名無しさん
2008/08/01(金) 00:45:15int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
) {
return 0;
}
CとC++の基本を勉強し終えたので今日からin32APIを勉強しようと思い、Windowsゲームプログラミングという本を買いました。
次のコードをビルドしようとしたら終わるまで1.2分かかりました。
#include <windows.h>
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
) {
return 0;
}
普通このくらいかかるもんなんですか? 使用ソフトVS2008 OS:WINXP32bit メモリ4G CPU:IntelCore2DUo E8500 3GHz
0949デフォルトの名無しさん
2008/08/01(金) 00:46:520950デフォルトの名無しさん
2008/08/01(金) 00:47:000951デフォルトの名無しさん
2008/08/01(金) 00:47:400952デフォルトの名無しさん
2008/08/01(金) 00:51:32新規作成→プロジェクト→Win32プロジェクト(空のプロジェクト)→ソースファイルを.cppで作成してビルドしています。
解決策がわかる人がいたらアドバイスよろしくお願いします。
0953デフォルトの名無しさん
2008/08/01(金) 00:54:01理由は、プロジェクトをUSBメモリーに作っていたからです。
Cドライブ上にプロジェクトを作成してビルドしたら数秒で完了しました。
ご迷惑おかけしました。
0954デフォルトの名無しさん
2008/08/01(金) 01:18:500955デフォルトの名無しさん
2008/08/01(金) 01:26:110956デフォルトの名無しさん
2008/08/01(金) 01:35:21ここの連中にわかるわけないだろ
0957デフォルトの名無しさん
2008/08/01(金) 01:38:13そうなんですか…。
他の方法を模索してみます。
御回答ありがとうございました。
0958デフォルトの名無しさん
2008/08/01(金) 01:50:470959デフォルトの名無しさん
2008/08/01(金) 01:55:53せめて取っ掛かりになるようなヒントをいただけませんか?
0960デフォルトの名無しさん
2008/08/01(金) 11:17:30int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
) {
BYTE * bytes = "BYTE *";
PBYTE pByte = "PBYTE";
LPBYTE lpByte = "LPBYTE";
MessageBox(NULL , bytes , NULL , MB_OK);
MessageBox(NULL , pByte , NULL , MB_OK);
MessageBox(NULL , lpByte , NULL , MB_OK);
return 0;
}
これをビルドしようとしたら error C2440: '初期化中' : 'const char [7]' から 'BYTE *' に変換できません。
こんなようなエラーが出ます。 どうすればいいのでしょうか? 治し方がわかりません;;
0961デフォルトの名無しさん
2008/08/01(金) 11:22:14キャストすればいいだけだろ
0962デフォルトの名無しさん
2008/08/01(金) 11:23:48アドバイスありがとうございます。
キャストが分からないので調べてきます。
0963デフォルトの名無しさん
2008/08/01(金) 11:29:58ありがとうございました
0964デフォルトの名無しさん
2008/08/01(金) 12:12:270965デフォルトの名無しさん
2008/08/01(金) 12:13:190966デフォルトの名無しさん
2008/08/01(金) 12:22:510968デフォルトの名無しさん
2008/08/01(金) 22:56:41joyGetDevCaps関数でJOYCAPS 構造体の情報を取得し、ジョイスティックの製品名を
取得したのですが、OSによって結果が異なってしまいます。
Win2kではコントロールパネルのゲーム オプションと同じ表示になるのですが、
Vistaではコントロールパネルのゲームコントローラの表示にかかわらず、
「Microsoft PC ジョイスティック ド」となってしまいます。
Vistaでもコントロールパネルのゲームコントローラの表示と同じ結果を取得するには
どのようにすればよいのでしょうか?
0969デフォルトの名無しさん
2008/08/02(土) 00:59:53エクセルで開いてるファイルをCreateFileで
開きたいのですが、どの設定にしても開けません
読み取り専用でも良いので開く方法を教えてはいただけませんか
お願いしますm(_ _)m
0970デフォルトの名無しさん
2008/08/02(土) 01:03:490971デフォルトの名無しさん
2008/08/02(土) 01:25:020972デフォルトの名無しさん
2008/08/02(土) 17:23:250973デフォルトの名無しさん
2008/08/02(土) 17:32:100974デフォルトの名無しさん
2008/08/02(土) 17:35:400975デフォルトの名無しさん
2008/08/02(土) 17:55:49APIで「通常使うブラウザ」を変更したいです!
知ってる人居たら教えてくださいm(_ _)m
0976デフォルトの名無しさん
2008/08/02(土) 18:02:020977デフォルトの名無しさん
2008/08/02(土) 18:15:18古いとかそんなんばっかりなんでしょうか。安くて完璧なリファレンス本
ないんですかね。
あとプログラミングWindows系の書籍も、古いし。
0978デフォルトの名無しさん
2008/08/02(土) 18:16:21次に.mp3ファイルをダブルクリックすると、
新しくMediaPlayerが起動せずに、
最初に起動した奴から再生されます。
このとき最初に起動した奴にはどういうメッセージが送られてきたのですか。
0979デフォルトの名無しさん
2008/08/02(土) 18:42:57これは、ダイアログの中に(矩形領域のための)別のウインドウを作って、専用のプロシージャで処理してやればいいのかなーと考えましたが上手くいかないです。
ご存じの方がいらっしゃいましたら、ヒントだけでも教えていただけると幸いです。それではよろしくお願いします。
0980デフォルトの名無しさん
2008/08/02(土) 19:02:09ヒント:ペイントをSpy++で突っついてみる
0981デフォルトの名無しさん
2008/08/02(土) 19:29:24それで上手くいかない理由が分からん。普通に作ればできるだろう。
俺ならウインドウ作るの面倒だから、スタティックコントロールを配置して
サブクラス化して使うけど。
0982デフォルトの名無しさん
2008/08/02(土) 20:50:50DDE
0983デフォルトの名無しさん
2008/08/02(土) 20:51:42MSDNで十分だから
0984デフォルトの名無しさん
2008/08/02(土) 21:10:04Javaや.NETの時代だから今更Win32APIの本なんてあまり売れないからに決まってるでしょ
0985968
2008/08/02(土) 21:14:04ここではJOYCAPS構造体関係の質問は回答得にくいでしょうか?
なんとなくそんな気がしてきました…ハード無いと確認も出来ませんし。
どこか掲示板に限らず回答得られそうな場所はご存じないでしょうか?
0986デフォルトの名無しさん
2008/08/02(土) 21:19:330987デフォルトの名無しさん
2008/08/02(土) 21:28:190988デフォルトの名無しさん
2008/08/02(土) 21:34:11Win32API自体古いけどよく言えば枯れている。書籍もまた然り。
でも、完璧なリファレンスってのは絶対無理だな。
Vistaで増えたものだけで1冊書ける分量がある。それが新しいバージョンが出る度だ。
0989デフォルトの名無しさん
2008/08/02(土) 21:36:590990969
2008/08/02(土) 21:43:18対処してるアプリだと、リードオンリーで開きますか?とか
聞いてくるので簡単にできるのかと思ったのですが・・・
諦めるとします、ありがとうございました
0991デフォルトの名無しさん
2008/08/02(土) 21:46:14DirectInputつかいなよ
0992デフォルトの名無しさん
2008/08/02(土) 22:36:55を書くと案外別の方法が見つかったりするよね
0993デフォルトの名無しさん
2008/08/02(土) 22:46:44void BeginDownloadThread ・・・
{
・・・
hThread=CreateThread(NULL, 0, myThread, this, 0, &ThreadID);
・・・
}
このようなコードで、BeginDownloadThreadを何度も呼び出して
myThreadを幾つも動かしています。(ダウンローダっぽいものを作っています)
このときhThreadが沢山できますが上手く全てをCloseHandleする方法教えてください。
0994デフォルトの名無しさん
2008/08/02(土) 22:51:14Windowsが自動で解放してくれるからそのままでおk
0995デフォルトの名無しさん
2008/08/02(土) 22:52:030996デフォルトの名無しさん
2008/08/02(土) 22:54:150997デフォルトの名無しさん
2008/08/02(土) 23:02:22CloseHandle(CreateThread( ... ));
でいいと思うよ
スレッドが生成できたかどうかはコールバックからEventやSendMessage投げればおk
0998デフォルトの名無しさん
2008/08/02(土) 23:04:40C のランタイムライブラリに記録されている関数を使うスレッドは、
CreateThread 関数と ExitThread 関数ではなく、
C のランタイム関数である beginthread 関数と endthread 関数を使うべきです。
この方法に従わないと、ExitThread 関数を呼び出したときにわずかなメモリリークが発生します。
0999デフォルトの名無しさん
2008/08/02(土) 23:06:571000デフォルトの名無しさん
2008/08/02(土) 23:07:2910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。