08/02/04 02:43:45
- MSDN ホームページ
URLリンク(www.microsoft.com)
- MSDN ライブラリ
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
- MSDN2 ライブラリ
URLリンク(msdn2.microsoft.com)
URLリンク(msdn2.microsoft.com)
- MSDN ライブラリ (ローカル版)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
- Windows SDK & Platform SDK
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
3:デフォルトの名無しさん
08/02/04 02:44:29
URLリンク(www.google.com)
- 猫でもわかるプログラミング
URLリンク(www.kumei.ne.jp)
- Win32 API入門
URLリンク(wisdom.sakura.ne.jp)
- Win32 プログラミング入門
URLリンク(www7.plala.or.jp)
- Advanced Windows (書籍)
URLリンク(www.amazon.co.jp)
-おまけ
Build19が見たい人で余裕のある人は●でも買ってくれ。
4:デフォルトの名無しさん
08/02/04 02:54:07
60 スレリンク(tech板)
59 スレリンク(tech板)
58 スレリンク(tech板)
57 スレリンク(tech板)
56 スレリンク(tech板)
55 スレリンク(tech板)
54 スレリンク(tech板)
53 スレリンク(tech板)
52 スレリンク(tech板)
51 スレリンク(tech板)
50 スレリンク(tech板)
49 スレリンク(tech板)
48 スレリンク(tech板)
47 スレリンク(tech板)
46 スレリンク(tech板)
45 スレリンク(tech板)
44 スレリンク(tech板)
43 スレリンク(tech板)
42 スレリンク(tech板)
41 スレリンク(tech板)
5:デフォルトの名無しさん
08/02/04 02:54:39
40 スレリンク(tech板)
39 スレリンク(tech板)
38 スレリンク(tech板)
37 スレリンク(tech板)
36 スレリンク(tech板)
35 スレリンク(tech板)
34 スレリンク(tech板)
33 スレリンク(tech板)
32 スレリンク(tech板)
31 スレリンク(tech板)
30 スレリンク(tech板)
29 スレリンク(tech板)
28 スレリンク(tech板)
27 スレリンク(tech板)
26 スレリンク(tech板)
25 スレリンク(tech板)
24 スレリンク(tech板)
23 スレリンク(tech板)
22 スレリンク(tech板)
21 スレリンク(tech板)
6:デフォルトの名無しさん
08/02/04 02:55:10
20 スレリンク(tech板)
19 スレリンク(tech板)
18 スレリンク(tech板)
17 スレリンク(tech板)
16 スレリンク(tech板)★
15 スレリンク(tech板)★
14 URLリンク(pc5.2ch.net)
13 URLリンク(pc5.2ch.net)
12 URLリンク(pc5.2ch.net)
11 URLリンク(pc5.2ch.net)
10 URLリンク(pc5.2ch.net)
9 URLリンク(pc5.2ch.net)
8 URLリンク(pc5.2ch.net)
7 URLリンク(pc3.2ch.net)
6 URLリンク(pc3.2ch.net)
5 URLリンク(pc3.2ch.net)
4 URLリンク(pc3.2ch.net)
3 URLリンク(pc.2ch.net)
2 URLリンク(pc.2ch.net)
1 URLリンク(pc.2ch.net)
7:デフォルトの名無しさん
08/02/04 03:54:28
>>1 乙
8:デフォルトの名無しさん
08/02/04 17:41:20
いろいろググってわからなかったので、質問します。
GetFocus()でフォーカスのあるウィンドウハンドルを取得し、このウィンドウが文字入力できるかできないかを知るためにはどんな関数があるでしょうか?
Immやウィンドウ情報関係を見てみたのですが、見つかりませんでした。
ボタンに対して文字入力できない、エディットボックスはできる、という判定をしたいためです。
有識者の方、よろしくお願いします。
9:デフォルトの名無しさん
08/02/04 17:46:44
よ~く考えればわかる
10:デフォルトの名無しさん
08/02/04 17:51:07
なんか押してみる
11:デフォルトの名無しさん
08/02/04 18:08:06
サブクラス化してて入力できるボタンだったり、完全オリジナルなコントロールだったらどうするんだろう?
12:デフォルトの名無しさん
08/02/04 19:13:42
WM_GETDLGCODEを送ってみるとか
13:デフォルトの名無しさん
08/02/04 19:22:41
ウィンドウクラスがEDITかどうかとか
14:前スレ981
08/02/05 00:09:30
>>984
へんな書き方ですいません。
項目ABCがリソース使ってメニューを作れることは確認してます。
また、項目ABCDEFをリソースで持たずに、全てInsertMenu()でも作ってみました。
わからないのは、
項目ABCはリソースで持ってて、
Bのサブメニューである項目DEFをInsertMenu()あたりの関数で追加して作る方法があるかどうか、
ということでした。
ご存知ありませんか?
15:デフォルトの名無しさん
08/02/05 00:11:44
質問なんですが
ウインドウにエディットボックスを作ったのですが
エディットはサブクラス化していてWM_PAINTで
線を描画したのですがエディットに書き込むことが
できなくなりました。何か良い方法ないですか?
16:デフォルトの名無しさん
08/02/05 00:33:07
>>14
D,E,Fを持ったメニューハンドルをhSubMenuとして、
SetMenuItemInfo()でBを書き換えればいいんじゃないの?
17:デフォルトの名無しさん
08/02/05 09:09:19
>>15
エディットボックスをサブクラス化してWM_PAINTを奪ったんだろ?
それって、書き込まれたものを描画してないだけじゃねーの?
18:デフォルトの名無しさん
08/02/05 09:49:08
どうもすみません、教えてください。
縦スクロールするウィンドウの全てを、1枚の画像としてキャプチャしたいのですが、
PrtScを擬似的に発生させる方法では、不可能ですよね??
(PrtScでは、画面に表示させている部分しかキャプチャされないので・・・)
そういった機能を持ったフリーソフトも幾つかある様なので、
何かしら方法があると思うのですが、どうしても分かりません(ググっても分かりませんでした)。
『 縦スクロールするウィンドウの全てを、1枚の画像としてキャプチャする方法 』
をご存知の方は、ぜひともご教授ください。
お願い致します。m(。-_-。)m
19:デフォルトの名無しさん
08/02/05 10:05:20
>>18
ウィンドウをスクロールさせつつキャプチャしてるだけだと思われ
現在のスクロールバーの位置みて、動的に描画してるアプリもあるだろうし、
API一発でゴッソリ抜けるってのはないかと
20:デフォルトの名無しさん
08/02/05 10:20:59
> PrtScを擬似的に発生させる方法では、不可能ですよね??
仮にそんな方法で出来たとしてもキャプチャの為だけにクリップボードを勝手に書き換えるソフトなんてやだなあ
それはそうと、IEの描画をキャプチャしてるソフトとかはIEのinterface使ってると思われ
とりあえずIHTMLPainterとかそれっぽいのが見つかった
IE以外だとスクロールバーを自前で描いてるソフトもあるから結構難しいと思う
21:デフォルトの名無しさん
08/02/05 10:25:17
既にある加え新しく作ったウィンドウを作った場合、そのウィンドウを終了する際の
処理ってDestroyWindowだけでPostQuitMessage(0);はいらないんですか?
PostQuitMessage(0);をすると全てのウィンドウが消えてしまうんですが
22:デフォルトの名無しさん
08/02/05 10:32:26
>>21
いらない
PostQuitMessageはメッセージループを終了させるのに使う
23:デフォルトの名無しさん
08/02/05 10:56:47
PostQuitMessageはメインウインドウのWM_DESTROYで呼ぶべや。
メインウインドウをDestroyするのにPostQuitMessageを使ってたんか?
24:デフォルトの名無しさん
08/02/05 11:13:51
>>22
ありがとうございます。メッセージループを抜けるときだけに使うんですね
>>23
WM_DESTROYでPostQuitMessageしてたんで、新しく作ったウィンドウのプロシージャ
の方にWM_DESTROYがきたときもPostQuitMessageしたらプログラムが終了してしまった
ので聞いてみました
25:デフォルトの名無しさん
08/02/05 15:07:02
Win32プログラミングに関して英語で一番情報量が多いサイトってMSDN以外にはどこがありますか?
26:デフォルトの名無しさん
08/02/05 15:08:25
27:デフォルトの名無しさん
08/02/05 16:03:14
>>26
MSDNを入れても一番情報量が多いなw
28:デフォルトの名無しさん
08/02/05 18:10:31
URLリンク(www.kumei.ne.jp)
このプログラムのhChild1のハンドルがFindWindow("mychild1",NULL)では取得できませんでした
取得できない理由を教えてエロい人
29:デフォルトの名無しさん
08/02/05 18:27:42
URLリンク(msdn.microsoft.com)
調べろカス
30:デフォルトの名無しさん
08/02/05 18:42:17
うは。。。親を持たないウィンドウのみだったのね。。。
31:デフォルトの名無しさん
08/02/05 21:48:42
>>28のプログラムでいうhWndのハンドルってグローバル使わない方法で取得するとしたらスマートな方法ある?
あとCreatWindow()で親ウィンドウのハンドルだけ与えてWS_CHILDをつけないのって問題あり?
32:デフォルトの名無しさん
08/02/05 22:17:17
#define WS_OVERLAPPED 0x00000000L
33:デフォルトの名無しさん
08/02/05 22:18:22
>>31
前者の答えとしては、作成時に渡したIDでGetDlgItemを呼び出すか、
SetPropでウィンドウにデータを関連付けてしまう方法もある。
後者は、WS_CHILDもWS_POPUP無しだとWS_OVERLAPPEDになるな。
で、指定した親ウィンドウは、作ったウィンドウのオーナーになる。
34:デフォルトの名無しさん
08/02/05 23:57:49
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
35:は@c44.010.c3-net.ne.jp ◆cplnFO9T0I
08/02/06 00:48:55 BE:272355269-2BP(1001)
ダイアログボックスについて質問です
・コントロールを一時的に無効化する方法
・最大化メッセージを奪い取って破棄する方法
(→WM_SYSCOMMANDのSC_MAXIMIZEを横取りしてもうまくいかず、Spy++でアタッチしているときのみうまくいきました)
この2つを教えてください。
36:デフォルトの名無しさん
08/02/06 01:21:01
>>35
前者:EnableWindow()
後者:wParam == SC_MAXIMIZEの時、return TRUE;
37:8
08/02/06 10:06:46
返信いただいた方、ありがとうございます。
>>11
そこまで考慮していませんでしたが、対象外とさせてください。
>>12
試してみましたが、秀丸などエディタに対しては0リターンとなりました。これはウィンドウハンドルがダイアログじゃないからでしょうか。
ウィンドウハンドルならダイアログじゃなくても判断しないといけないので、これは採用できないです。
>>13
>ウィンドウクラスがEDITかどうか
を判定するにはGetClassLong(hWnd, GCL_STYLE)を使えということでしょうか?
38:デフォルトの名無しさん
08/02/06 10:14:29
ほんとにEDITなのかを確認するのならGetClassName()でいいだろう
で、質問者は何のためにそれが知りたいの?
WM_CHARを受け付けるかどうかなんて、実際のとこ投げてみるまでわからんと思うが。
39:8
08/02/06 10:49:20
>>38
エディットボックスだけならGetClassName()でいけそうですが、秀丸のようなエディタのウィンドウだと任意の名称みたいなので、採用できなさそうです。
理由はIMEの仕事をしていまして、キーイベントを受け付けて文字表示する前に、文字入力可能な画面かどうかを判断したかったためです。
まわりくどいことしなくても、もっと◎な方法がありそうな気がして今もググってる最中です(-_-;)
40:デフォルトの名無しさん
08/02/06 10:55:48
そこまで行くと汎用的な方法は無いよ
ググったって出てこない
WM_CHARに対する実装は結局コード書いてる人依存だから
エディットボックスだって反応する保障はない
41:デフォルトの名無しさん
08/02/06 11:04:57
マジレs
文字入力を支援するというか、標準的な入力として提供してるのがエディトボックスなわけで
なにもエディトボックスをサブクラスしないと入力できないわけではない
もし 8 が「入力できるウインドウ」と汎用的に言ってるなら 40 の言うように不可能かと。
そもそもエディトボックスしかり、入力したのが表示されるという仕組みまで見ると
キーボードから入力があれば、なにを押されたかプロシージャなりで判断し自前のバッファに覚えて
「文字に見える画像やカーソル(キャレット)を画像として表示」しているウインドウにしかすぎない。
42:デフォルトの名無しさん
08/02/06 11:06:57
そういやIMEはどこで判断してるんだろうな。
リードオンリーなEDITでも出てこないよな。
43:デフォルトの名無しさん
08/02/06 11:07:21
>>39
1. GetWindowLongPtrでウィンドウプロシージャを得る
2. 逆アセンブラを積む
3. 得られたウィンドウプロシージャを順次逆汗してWM_KEYDOWN/WM_CHAR/WM_IME_***に対してエディタっぽい事をしてるか調べる
この方法が現実的でない限り、方法は無いといっていいだろうなぁ
ま、IMEの状態制御はアプリ側での実装になるからね
44:デフォルトの名無しさん
08/02/06 11:15:06
>>42
IMEの動作も実装者任せ。自分でやるならimm.h辺りを使えばいい
45:デフォルトの名無しさん
08/02/06 11:37:34
EDITしか使った事ないと、IMEやキャレットが自動的に出てくるもんだと思っちゃうかもな。
だから何か特別"文字入力できるウィンドウ"という属性があると考えるのかもしれない。
46:8
08/02/06 12:45:34
IMEが持っている情報の中でなんとかやってみる方向になりました。
いや~IME側の資料ってほんと少ないです。
いろんな意見ありがとうございました。
47:デフォルトの名無しさん
08/02/06 12:46:21
逆にいえば、IMEとしての体裁をしっかり作っておけば相手を気にしなくても動くはずなんだが。
48:デフォルトの名無しさん
08/02/06 16:07:24
exeファイルからDLLのように関数をexportすることって出来ますか?
普通ならmain.exe, sub.dllを作ってsub.dllからexportするんでしょうが
mainsub.exeみたいにひとつにまとめられたらそうしたいんですが。
49:デフォルトの名無しさん
08/02/06 16:22:43
ひとつのexeにまとめるんならエクスポート/インポートする必要ないのでは?
50:デフォルトの名無しさん
08/02/06 16:28:19
いやいや
51:デフォルトの名無しさん
08/02/06 16:32:41
sub.dllを使うのはどのプログラムなん?
main.exeだけだったら>>49が言うようにmain.exeのソースコード内に書いておけばいい話だし
52:デフォルトの名無しさん
08/02/06 16:47:47
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
53:デフォルトの名無しさん
08/02/06 16:48:31
exeがエクスポート関数を持ちたいって事?
ふつーに__declspec(dllexport)とか.defファイル用意とか#pragma comment(linker, "/export:...")で出来ると思うが
54:デフォルトの名無しさん
08/02/06 16:49:13
>>52
二度も書くなボケ
55:デフォルトの名無しさん
08/02/06 16:50:53
>>52
それくらい、自分で試してみれば済むことだろ
56:デフォルトの名無しさん
08/02/06 16:57:37
DLLのスタートアップルーチン呼ばれない、EXEの関数呼び出したらプロセス起動する
とか許容できるならいいんじゃないか。
57:デフォルトの名無しさん
08/02/06 17:01:45
>>55
試してメモリリークと報告されなかったから聞いているわけだが。
58:デフォルトの名無しさん
08/02/06 17:02:45
じゃあ「できない」でFAだろうがw
59:デフォルトの名無しさん
08/02/06 17:07:01
YES → 【見つかった?】 ─ YES → じゃあ聞くな死ね
/ \
【探した?】 NO → なら、ねぇよ
\
NO → 死ね
YES → 【成功した?】 ─ YES → じゃあ聞くな死ね
/ \
【試した?】 NO → なら、できねぇよ
\
NO → 死ね
60:デフォルトの名無しさん
08/02/06 17:25:41
ここの存在意義がwww
61:デフォルトの名無しさん
08/02/06 17:33:16
「なら、ねぇよ」の所だけ回答が返ってくる可能性がある
62:デフォルトの名無しさん
08/02/06 17:36:29
試せば分かる事をいちいち聞くな
試して分かった事をいちいち聞くな
探せば分かる事をいちいち聞くな
探して分かった事をいちいち聞くな
当然だろ
それに、この程度で存在意義が無くなるスレでもないだろ
63:デフォルトの名無しさん
08/02/06 17:44:21
早く解決策を書け
64:デフォルトの名無しさん
08/02/06 17:53:39
何の解決策だよw
65:デフォルトの名無しさん
08/02/06 17:58:19
そもそもCRTはスレ違いだぼけなす
66:デフォルトの名無しさん
08/02/06 18:00:51
スレ違いだしCRTのソース読むかMSDN読めば分かるのに、こんな所で一日近く回答待つなんて馬鹿丸出し
67:は@cr4-172-178.seaple.icc.ne.jp ◆cplnFO9T0I
08/02/06 18:19:43 BE:20174922-2BP(1001)
>>36
両者ともうまくいき、ありがとうございます。
ユーザーのリストを取得するにはどうしたらいいでしょうか?
とあるスクリプトではDcuments and Settingsにあるフォルダから無理矢理取得しているのですが、
流石にそれはどうかな?と思いまして。
68:デフォルトの名無しさん
08/02/06 18:26:40
FormatMessageはAPIだろ
69:デフォルトの名無しさん
08/02/06 18:37:05
URLリンク(www.kumei.ne.jp)
これを参考にスクロールつけてたんですが
SB_THUMBTRACKとそれ以外の場合ではスクロール上限が異なってしまいます
SB_THUMBTRACKの上限に合わせるにはどうすればよいのでしょうか?
nMaxをいじればいいのかと思ってやってたんですがどうにもうまくいかなくて
70:デフォルトの名無しさん
08/02/06 18:56:20
具体的にうまくいかないコードを貼ると解決早い。
HIWORD(wParam)してる?
71:69
08/02/06 19:11:42
変数名が変わっただけでコードは全く同じです;;
si.nMaxの値を小さくするとLINEUP等のスクロール上限が下がるのですがTHUMBTRACKの上限にも影響が出たのでだめでした
そこで、dy = max(-1 * si.nPos, min(dy, si.nMax - si.nPos));の「si.nMax」を「si.nMax-適当な固定値」にすると理想的な結果には近づけました
ですが、固定値なんか使うと汎用性皆無なのでどうにかならないかと思い質問させていただきました
72:デフォルトの名無しさん
08/02/06 19:42:31
GDI+を使おうと考えてますが、C++で自動変数として用いる場合、問題のあるクラスってありますか?
例えば、Graphics、Font、StringFormat、Bitmap、BitmapData等のクラスを使おうと思っています。
ぱっと見、一応デストラクタで解放されてる気がしますが確信が持てず・・・
73:デフォルトの名無しさん
08/02/06 19:51:14
C♯, C#相談室 Part34
スレリンク(tech板)
74:デフォルトの名無しさん
08/02/06 19:53:25
素直にauto_ptrやboost::scoped_ptr等と組み合わせたほうがエレガントだと思う
75:デフォルトの名無しさん
08/02/06 20:23:39
MSDNライブラリにも特に注意点は載っていなかったはずだし、問題ないと思う。
せいぜい、デストラクタより先にGdiplusShutdown呼ばないように気を付けろ。
>>73
71はきっとネイティブ版の方を使うんだろ。
76:デフォルトの名無しさん
08/02/06 20:24:11
>>72
ありません。ただし GDI+ の初期化と開放の前や後で ctor や dtor が
動くといけないので、スタティック変数等では注意が必要か。
>>74
いや、GDI+ (のアレコレ)は C++ でなるべくスタック上に
取るのがスマートだしカッコイイと思う。
.Net で C# なんかだと Dispose の嵐でもーうんざり。
77:デフォルトの名無しさん
08/02/06 20:29:18
エディットボックスのクライアント領域内の行数
を調べるにはどうすればよいでしょうか?
78:デフォルトの名無しさん
08/02/06 20:37:52
高さ を フォント高さ で割ってやればよいのではないか
79:デフォルトの名無しさん
08/02/06 20:43:31
>>76
C#ならusing使えよ……。
80:デフォルトの名無しさん
08/02/06 20:55:07
using( Graphics g = ... )
using(Bitmap bmp= ...)
using(Pen pen= ...)
using( Brush br1= .. , br2=...)
using( Font font= ... )
g.draw~
やってられっか(w
81:デフォルトの名無しさん
08/02/06 20:57:33
なんでインデントつけるんだよ。
82:デフォルトの名無しさん
08/02/06 21:00:49
>>74-76
レスありがとうございます。
問題ないようですし、startupやshutdownに注意しつつ、楽な自動変数で行きたいと思います!
83:デフォルトの名無しさん
08/02/06 21:01:37
>>81
知恵が無いから。
84:デフォルトの名無しさん
08/02/06 21:19:49
スコープだからに決まってるだろ。
85:デフォルトの名無しさん
08/02/06 21:31:44
つーかusingする必要あるか?
.netならGCが勝手に開放するだろ
まーWin9x系を考慮するなら、using使って明示的に開放しとかないとGC作動する前に
システムリソース食い潰してOSごと死亡しそうな気はするが
86:デフォルトの名無しさん
08/02/06 21:38:25
GCを当てにしていいのはメモリだけ
87:デフォルトの名無しさん
08/02/06 22:16:35
というか実際には仮想メモリをどんどん使い始めてなかなか解放してくれないわけだ。
あまり気にしなければそれでいいわけだけど・・・・
Image.FromFile で作ったImage 等他のリソース(この場合ファイル)をつかみっぱなしの
オブジェクなんかもあるし。
こういう場合は簡単にスコープと寿命を一致させられる C++ の方が気持ち良いな、俺は。
88:デフォルトの名無しさん
08/02/06 22:22:32
C的にDispose乱発するとか。
89:デフォルトの名無しさん
08/02/06 22:24:07
いやだからusingがあるんだろ・・・
ってスレ違いだね
90:デフォルトの名無しさん
08/02/06 22:25:42
参照カウンタ付きのスマートポインタ使えばGCなんていらないと思ってる
91:デフォルトの名無しさん
08/02/06 22:27:24
それ何てGC?
92:デフォルトの名無しさん
08/02/06 22:30:45
それで循環参照の罠に引っかかるわけですね
93:デフォルトの名無しさん
08/02/06 22:33:56
using 文マジおすすめ
94:デフォルトの名無しさん
08/02/06 22:39:33
>>93
C++でusingしまくってるとGDI+使う時に衝突してエラーになるから一概におすすめとは言えないよ
最近のコンパイラだとエラー出ないようになってるのかも知れんが
.Netの事を言ってるならスレチだから他でやってね
95:デフォルトの名無しさん
08/02/06 22:41:40
>>94
スレ違い
96:デフォルトの名無しさん
08/02/06 22:43:20
>>95
GDI+はスレ違いじゃないよ
97:デフォルトの名無しさん
08/02/06 22:45:04
C++はスレ違い
98:デフォルトの名無しさん
08/02/06 22:45:53
名前空間の衝突はスレ違いだな
99:デフォルトの名無しさん
08/02/06 22:47:07
C++(/CLI)だと名前空間に別名付けるのが便利。
100:デフォルトの名無しさん
08/02/06 22:53:19
おまいらそろそろスレ違い杉w
ところで、GDI+ってWin32APIとして見ると画像ファイルの読み書き以外に使える?
描画が全てソフトウェア処理だから重いし、Vistaでこの辺DirectXに丸投げしてくれるかと思ったらそうでも無さそうだし
101:デフォルトの名無しさん
08/02/06 22:57:46
もうやめて!GDI+のHPは0よ
102:デフォルトの名無しさん
08/02/06 23:05:25
>>100
アルファブレンディングとかしたいけどDirectX使うまでも無いって場合とか。
103:デフォルトの名無しさん
08/02/06 23:05:46
>>67
NetUserEnum
とか
HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥ProfileList
みたいなのとか
104:デフォルトの名無しさん
08/02/06 23:08:09
>>102
MMXかSSEだろJK
105:デフォルトの名無しさん
08/02/06 23:26:44
アンチエイリアシング付き文字を手軽に描画したい時にGDI+使ってるな。
getglyphoutlineで描画するの面倒くさそうだったから・・・
106:デフォルトの名無しさん
08/02/06 23:30:15
つまりWPFを使えって事なワケですよ
107:デフォルトの名無しさん
08/02/06 23:51:30
wpfはアンマネージドインターフェイスが無いじゃん。
どうしてCOM Interopを可能にしなかったのか不思議で仕方ない。
108:69
08/02/06 23:55:22
>>70
HIWORD(wParam)がスクロールボックスの現在位置を保持してるのは理解できました
これはスクロールボックスの上端の位置を示しているという理解でいいのでしょうか?
上端の位置を保持しているのならswitch文の記述には問題がないように見えます
となるとやっぱりswitch文から抜けた後の処理が間違っている???
他の人の質問に比べて低レベル過ぎて恥ずかしい
109:デフォルトの名無しさん
08/02/06 23:57:42
補間拡大縮小をアルゴリズム設計無しで実装したい案件で使ってる
110:デフォルトの名無しさん
08/02/07 00:06:08
GDI+なんてハイフンな問題があるし使えんよ。
URLリンク(support.microsoft.com)
111:デフォルトの名無しさん
08/02/07 00:11:21
>>108
WM_VSCROLLのSB_THUMBTRACKの説明を読むと
>The high-order word indicates the position that the scroll box has been dragged to.
とのことだから、現在位置ではないんじゃね?
112:デフォルトの名無しさん
08/02/07 00:20:20
BitBltすらないわけだが
113:デフォルトの名無しさん
08/02/07 00:40:37
>>105
CreateFontにANTIALIASED_QUALITYを指定すればいい。
114:デフォルトの名無しさん
08/02/07 00:52:17
>>108
とりあえず、メッセージの値は見ずにGetScrollInfoで取得しとけ。
つうか、switch分の処理では絶対位置を確定させるべきだろうに。
115:デフォルトの名無しさん
08/02/07 01:36:28
SetWindowsHookEx() で WH_MOUSE を仕掛けるんですが、
カーソルが自プロセスのウィンドウから外に出てしまうとフックが
解除されてるみたいなんですが、解除されない方法あるでしょうか?
116:デフォルトの名無しさん
08/02/07 01:52:08
>>113
ANTIALIASED_QUALITYはフォントサイズ小さいとAAかからないってネットで見たので・・・
117:デフォルトの名無しさん
08/02/07 02:23:52
>>115
タイマーで監視しとけw
118:デフォルトの名無しさん
08/02/07 02:36:31
>>115
自スレッドにフックしてるんだったら当たり前じゃね?
119:デフォルトの名無しさん
08/02/07 02:49:27
ALOEZ
120:69
08/02/07 03:25:29
LINESIZEを1目盛分スクロールした時の移動量とすると
スクロールの上限値(si.nMax)は「(表示したい画像の縦幅 - クライアント領域の縦幅)/LINESIZE」でうまいこと行きました
スクロールボックスのサイズ(si,nPage)は「クライアント領域の縦幅/LINESIZE」としました
これでできたと思ったらウィンドウをかなり小さくしないとsi.nMax==si.nPageにならずスクロールバーが出なくなりました;;
スクロールが出現する閾値(表示したい画像の縦幅)≠スクロールの上限値なのにどちらもsi.nMaxがその役割を担っている。。。
どう考えても構造的に矛盾してる気がするんですが・・・
121:デフォルトの名無しさん
08/02/07 03:37:51
WM_SIZEがきたときリストビューのカラムの幅(LVCOLUMN ○○.cx)を変更したいんですが
どうすればできますか?
122:デフォルトの名無しさん
08/02/07 03:54:17
ListView_SetColumnWidth
123:デフォルトの名無しさん
08/02/07 04:00:15
ありがとうございます
124:デフォルトの名無しさん
08/02/07 05:59:46
>>110
これ酷いなw
仕様となると、GDI+::String、Drawing::Graphics::DrawStringは使い物にならんな。
結局GDIへ回帰か。
125:デフォルトの名無しさん
08/02/07 07:16:32
>>120
WindowsSDKの'About Scroll Bars'から転載しとく。
MaxScrollPos = MaxRangeValue - (PageSize - 1)
126:デフォルトの名無しさん
08/02/07 12:50:13
GDI+使わないとAeroGlass上のグラスウィンドウでの描画が変になるんだよなぁ。
ただの図形描画ならDIB弄って何とかなるが、アンチエイリアスでフォント描画する場合に他に解決策がない。
GDIだけであれ解決する方法ないのかね?
127:デフォルトの名無しさん
08/02/07 13:36:55
XP以前とXPとVistaでは、メッセージループに
どれくらいの違いがあるのでしょうか?
あるとすれば、どのような違いですか?
128:デフォルトの名無しさん
08/02/07 13:56:08
メッセージループの違い?
変わらないかと。
どの視点でその疑問を抱いたの?
129:デフォルトの名無しさん
08/02/07 14:34:12
>>120
スクロールバー初めて使う人がはまる指定の仕方だな。それ。
nMin, nMax, nPageの指定の仕方というか考え方がおかしい。
130:デフォルトの名無しさん
08/02/07 14:59:16
あたらしいMSDN Libraryインストールしたんだけど
なんであのドキュメントエクスプローラあんなにちらつくん?
マウスでフォーカス変えるたびに全画面再描画してるかんじ……
131:69
08/02/07 15:09:04
まだ、解決できない・・・
>>125
スクロール範囲は思い通りになりましたありがとうございます
>>129
できればどこがおかしいのか教えていただけると幸いです・・・
132:デフォルトの名無しさん
08/02/07 16:50:23
すみません、SDK(API)でダイアログベースアプリの勉強してるのですが
1つのエディットコントロールと1つのOKボタンからなるダイアログで
エディットコントロール内でリターンキーを押すと、OKボタン押してないのに
OKボタンが押されたのと同じ動作をするんです。すごいことにリターンキーに関する処理は書いてないのにですよ。
こんなすごいこと経験した人いる? エスパーさん、何か原因に心あたりないですか?
133:デフォルトの名無しさん
08/02/07 16:57:00
そういうものです
134:デフォルトの名無しさん
08/02/07 16:57:08
ダイアログなら普通の動作
135:デフォルトの名無しさん
08/02/07 16:58:54
デフォルトボタンとかデフォルトプッシュボタンで調べるといいよ
136:デフォルトの名無しさん
08/02/07 17:05:58
>>131
問題を勘違いしてたら悪いんだけど
要は、SB_THUMBTRACKだと16ビットしか使えないから、
デカい画像を表示しようとするとうまく動いてくれないってことかな・・・
だったら、wParamでサイズを取らずにGetScrollInfo使えばいいんじゃない?
137:デフォルトの名無しさん
08/02/07 17:15:59
>>133-135
有難う、ありがとう、有難うございました。
ほえー、ダイアログでリターンキー押すことは、デフォルトプッシュボタンを
押すことと同じなのですか。うれしい動作に感動しました、うるうる。
138:デフォルトの名無しさん
08/02/07 17:20:58
TranslateMessageの仕事だけどな
139:デフォルトの名無しさん
08/02/07 17:56:42
IsDialogMessageの仕事じゃなかったっけ
140:69
08/02/07 18:21:06
>>136
したいことは「クライアント領域の高さが画像の高さ未満になったときにスクロールバーを出現させ、
SB_THUMBTRACK、SB_LINEUPをはじめ、どのスクロール方法でもスクロール範囲が同じにする」です
GetScrollInfoから取得するようにしてるのですが問題は解決せず・・・
>>129さんの言うとおり根本的なところで間違えているみたいです
nMin = 0;
nMax = 画像の高さ/スクロール一行分の高さ - (nPage - 1);
nPage = クライアント領域の高さ/スクロール一行分の高さ
これだとスクロール範囲は思い通りでもスクロールバーが出現する条件がうまくいきません
スクロールバー出現条件とスクロール範囲を両立させるにはどうすれば・・・
141:デフォルトの名無しさん
08/02/07 18:34:55
nMin=0
nMax=画像の高さ - 1
nPage=クライアント領域の高さ
でいいんじゃない?
スクロール1行分なんてのは、SB_LINEUP/DOWNのときに動かす量を調節すればいいかと
142:デフォルトの名無しさん
08/02/07 18:39:31
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
143:デフォルトの名無しさん
08/02/07 18:51:10
そう>>141でOK。ってより、「スクロール範囲が同じにする」の条件はようわからんけど。
144:デフォルトの名無しさん
08/02/07 19:47:16
>>142
GlobalReleaseって何だ?
145:デフォルトの名無しさん
08/02/07 19:56:49
俺が画像ビューアにスクロール機能付けた時は、
一行は11pt換算で動かすように作ったな。
>>144 これじゃね?
( ) ジブンヲ
( )
| |
ヽ('A`)ノ トキハナツ!
( )
ノω|
__[警]
( ) ('A`)
( )Vノ )
| | | |
146:デフォルトの名無しさん
08/02/07 20:46:39
私は、小学3年です。私には、彼氏がいます。彼とわたしは、デートの時、どちらかの家に行き、
だれもいないとき、部屋で横になって裸でだきあいます。それがだんだんエスカレートしていって、
学校の体育倉庫で服をぬがされ、まだ3年生ですが学年で1番大きいおっぱいを、つかむように触られたり、しゃぶったりされます。
最初は、苦手だったんだけどだんだん気持ちよくなりサイコーです。しかも、わたしは、学年1美人でもてます。
彼も同じで、美男美女でよくみんなにうらやましく、思われます。
このカキコ見たあなたは4日後に不幸がおとづれ44日後に死にます。それがイヤならコレをコピペして5ケ所にカキコして下さい。
私の友達はこれを信じず4日後に親が死にました。
44日後友達は行方不明・・・・。いまだに手がかりもなく私はこのコピペを5ケ所に貼り付けました。
すると7日後に彼氏ができ10日後に大嫌いな人が事故で入院しました。信じる信じないは勝ってです
147:デフォルトの名無しさん
08/02/08 00:57:30
子ウインドウ:でキー操作をする方法ってありますか?
148:デフォルトの名無しさん
08/02/08 01:22:03
質問は日本語で
149:147
08/02/08 01:30:13
ウインドウにエディットボックスを貼り付けているのですが
エディットボックスのウインドウプロシージャでキー操作
がしたいのですが(VK_UPなどを使いたい)どうも上手く
いきません。どのようにすればよいでしょうか?
150:デフォルトの名無しさん
08/02/08 01:42:34
何がどう上手くいかないのか、具体的に書けって。
151:147
08/02/08 01:56:18
int i
case WM_CHAR:
if(wp == VK_UP){
i++;;
}
break;
「↑」を押しても i が変化がないです。
152:デフォルトの名無しさん
08/02/08 02:38:20
>>151
WM_KEYDOWN
153:デフォルトの名無しさん
08/02/08 07:11:29
そういう問題じゃないだろ
いろいろいうことはあるが、、、もう出る時間なので
154:デフォルトの名無しさん
08/02/08 07:34:51
サブクラス化はちゃんと成功したわけ?
iがローカル変数というオチではないの?
155:デフォルトの名無しさん
08/02/08 08:00:22
WM_CHARにVKが来る訳なかろ
156:デフォルトの名無しさん
08/02/08 09:16:30
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
157:デフォルトの名無しさん
08/02/08 09:45:53
34 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/05(火) 23:57:49
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
52 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/06(水) 16:47:47
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
142 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/07(木) 18:39:31
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
156 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/08(金) 09:16:30
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
158:デフォルトの名無しさん
08/02/08 09:54:07
もうスルーで宜しく
メモリ管理もできない奴はGCに頼れ
で、GCを疑うなw
159:デフォルトの名無しさん
08/02/08 10:21:59
明らかな弱点挙げて指摘したら~もうスルーで宜しくって
分かり安すぎだなお前らw
160:デフォルトの名無しさん
08/02/08 10:33:49
(_ _ )
ヽノ) そのネタは飽きましたのでお引取り下さい
ll
161:デフォルトの名無しさん
08/02/08 10:34:49
⊂ ⊂ヽ、 /)/)
c、 `っ( ヽ
( v)c、 `っ
V''V ( v) / ̄`⊃
V''V | ⊃
( v) ハ,,ハ
V''V (゚ω゚ )
⊂⊂ ヽ
> )
(/(/
ハ,,ハ
( ゚ω゚ ) おことわりします
/ \
((⊂ ) ノ\つ))
(_⌒ヽ
ヽ ヘ }
ε≡Ξ ノノ `J
162:デフォルトの名無しさん
08/02/08 10:44:24
何の弱点だよw
GlobalReleaseなんて呼んだ事ねーよwww
163:デフォルトの名無しさん
08/02/08 10:54:55
AllocにはFreeだ。GetにはReleaseだ。
164:デフォルトの名無しさん
08/02/08 11:10:04
そもそも、クリップボードにセットした場合なんかはGlobalFreeしてはいけない
つう例外もあるからそう簡単にチェックできる物でもないだろ
ま、どうせドトネト信者が「GCの無い言語なんて糞」とか言いたいだけかも知れんが
165:デフォルトの名無しさん
08/02/08 11:10:21
IMEを作るには何を実装すればいいか、誰か知りませんか。
IMEを制御する方法は山ほど見つかるんだけどな。
166:デフォルトの名無しさん
08/02/08 11:18:29
基本的にはimm.dllと同じエクスポートを持ったDLLを作ればいいんじゃね
ツールバーを出したければ別個にプロセスを起動してimm.dllから通信すればいい
167:デフォルトの名無しさん
08/02/08 11:22:52
>>166
そりゃ確かにOSのIME管理システムそのものを乗っ取れるかもしれませんが、
えらく大雑把だなあ。
168:147
08/02/08 11:32:11
>>154
サブクラス化は成功していると思います。
なぜかVK_RETURNは反応しています。
iはグローバル変数にしています。
169:デフォルトの名無しさん
08/02/08 11:41:28
キーコードと仮想キーコードごっちゃになってるね。君
170:デフォルトの名無しさん
08/02/08 12:01:04
GlobalAllocしたメモリのリーク検出なんてフックすれば簡単に出来る
COMインタフェースのリリースし忘れの方が困る
システムDLL内だったりシェル拡張が原因だったり
171:デフォルトの名無しさん
08/02/08 12:14:24
昔のAdobe製品にはCOMの回収し忘れにより
GetOpenFileNameがエラー起こすっていうバグがあってだな
今は知らん
172:デフォルトの名無しさん
08/02/08 12:22:05
>>170
つ IMallocSpy
173:147
08/02/08 13:19:53
>>169
どのようにすれば使えるようになりますか?
174:デフォルトの名無しさん
08/02/08 14:29:01
int i
case WM_KEYDOWN:
if(wp == VK_UP){
i++;;
}
break;
で良いんじゃね
>>152に書いてあるけど
175:デフォルトの名無しさん
08/02/08 15:19:28
MCI_SIGNALというのは、例えば一定の容量の再生毎にsignalが送られてくるように設定するというイメージでいいですか?
MCI_SIGNALがなんのためにあるのかが分からない
176:デフォルトの名無しさん
08/02/08 15:42:55
MCIスレ立てて聞いてくれ。
177:デフォルトの名無しさん
08/02/08 15:48:08
>>165
OSごとにインターフェイスが異なるから、自分で調べられないなら辞めとけ。
178:デフォルトの名無しさん
08/02/08 16:02:47
SDKにIMEのサンプルコードあったべ。最近のは入ってないのかな。
179:デフォルトの名無しさん
08/02/08 16:03:39
それは操作用のだろ。今も入ってる
180:デフォルトの名無しさん
08/02/08 16:10:47
そうだっけ。簡易IMEみたいな、、、もはや今の仕様では使えないか
181:デフォルトの名無しさん
08/02/08 17:06:13
今タスクマネージャの「パフォーマンス」タブみたいなCPU使用率の
画面を作っていて、マルチコアに対応させたいのですが、
プロセス(スレッド)毎にどのコアを使ってるか、という情報は
どこで得られるのでしょうか?(コア毎の使用率は判るのですが)
182:デフォルトの名無しさん
08/02/08 17:10:48
GetProcessAffinityMask?
スレッドは多分無い
183:デフォルトの名無しさん
08/02/08 17:18:36
>>182
ありがとうございます。
GetThreadAffinityMask相当のAPIは何故か無いみたいですね。
184:デフォルトの名無しさん
08/02/08 17:18:45
多分NtQueryInformationProcess/NtQueryInformationThreadでPEB/TEBを見るしかないんじゃないの?
ただ、ネットに出回っているPEB/TEB構造体の情報は9割ぐらいはXPSP1以前の物で
今時のOSのカーネルとはメンバが微妙に違うから、役に立つかどうかは知らない
185:デフォルトの名無しさん
08/02/08 17:30:21
>>165
GPLのSKKIMEのようにソースが公開されているものもあるよ。
186:デフォルトの名無しさん
08/02/08 18:13:07
『涼宮ハルヒの憂鬱』より、SOS団のマスコット的存在“朝比奈みくる”が“鶴屋さん”と
同じく、焼きそば喫茶のメイド服姿で登場です。
ふわりと髪とスカートを翻し、振り返る瞬間をとらえたポーズで立体化。柔らかで
張りのある造形が抜群のプロポーションとマッチし綺麗なシルエットを楽しめます。
白と紺のコントラストが映える衣装と優しい笑顔が、彼女の清楚で穏やかな魅力を
引き立ててくれます。
商品名 涼宮ハルヒの憂鬱
作品名 朝比奈みくる メイドVer.
価格 6,090円(税込)
発売時期 08年06月未定
仕様 1/8スケール PVC製塗装済み完成品 全高約200mm
原型制作 沼倉としあき
発売元 アルター
ソース:あみあみ
URLリンク(www.amiami.com)
画像
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
アルターALTER Co.,Ltd
URLリンク(www.alter-web.jp)
187:デフォルトの名無しさん
08/02/08 18:17:37
( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
\/ /
 ̄ ̄ ̄
188:デフォルトの名無しさん
08/02/08 18:22:51
やっぱアレか?
スカートの中覗くのはデフォなのか?
189:デフォルトの名無しさん
08/02/08 18:26:19
おれが予約したフィギュアか
190:デフォルトの名無しさん
08/02/08 18:28:45
PGってやっぱアニオタ多いの?
191:デフォルトの名無しさん
08/02/08 18:58:33
俺は2Dしか興味ないわ
もともと平面な物をなんで立体化するのか本気でよくワカンネ
と釣られてみる
192:デフォルトの名無しさん
08/02/08 19:01:02
人形には興味ないけどメカ物には興味ある俺。
193:デフォルトの名無しさん
08/02/08 19:16:32
おれは長門有紀の魔女っ子姿が欲しい
194:デフォルトの名無しさん
08/02/08 19:23:56
ちなみになぜ186は貼られたのだ
弁解を聞こう
195:デフォルトの名無しさん
08/02/08 20:42:29
DrawTextのフラグがreturn DefWindowProc(hWnd, msg, wParam, lParam);の場合
元のRECTがあさってな状況でも描くのに必要な領域が返ってきますか?
196:デフォルトの名無しさん
08/02/08 20:52:34
変わったフラグなだ
197:デフォルトの名無しさん
08/02/08 21:14:01
エディットボックスの背景を灰色にして入力できないようにするにはどうすればできますか?
入力できないようにするのはSetWindowLongでES_READONLYにしてできたんですが
灰色にする方法が分かりません
198:デフォルトの名無しさん
08/02/08 21:32:09
DT_CALCRECTでした。
199:デフォルトの名無しさん
08/02/08 21:39:10
なんでMSDNを読まないんだろう
200:デフォルトの名無しさん
08/02/08 21:52:27
過度の四角くくない四角形はかけますか?
201:デフォルトの名無しさん
08/02/08 21:53:29
それは四角形ですか?
202:デフォルトの名無しさん
08/02/08 22:00:40
RoundRect
203:デフォルトの名無しさん
08/02/08 22:25:14
MSDNの見方がよく分からんのです
ネタじゃなくてマジで
204:デフォルトの名無しさん
08/02/08 22:26:54
最近のやつは Win32API が探しにくくなってる感はある。
205:デフォルトの名無しさん
08/02/08 22:29:06
>>195
あさっての矩形を指定して書いた場合に描画されるであろう領域が帰ってくるよ。
よく使うのは横幅を非常に大きくして、折り返ししない場合の幅を調べたり、
逆に高さだけ大きくして特定の幅で折り返し表示した場合の高さを調べたり、等。
206:デフォルトの名無しさん
08/02/08 22:31:26
>>204
さっさと.NETに移行させたいのだろ
ま、探しにくいのは前からだと思うが
Google検索でsite:microsoft.comした方が探し易いってどうよ?
207:デフォルトの名無しさん
08/02/08 22:43:27
MSDN内で検索するよりgoogleで検索した方が早いのは定説
しかしリンクが死んでる事も多い罠
208:デフォルトの名無しさん
08/02/08 22:44:35
>>206
ありがとう。探し方何となく分かった
209:デフォルトの名無しさん
08/02/08 22:48:30
前はずっとGoogleでsite:microsoft.comを使って検索してたけど、最近は
URLリンク(search.msdn.microsoft.com)検索文字列
という風にしてる。
210:デフォルトの名無しさん
08/02/08 22:53:36
MSDN2にWin32APIリファレンスの日本語バージョンないよね?
211:デフォルトの名無しさん
08/02/08 22:55:30
MSDN無印のほうも日本語訳はWin32apiところどころ欠けてるよ
212:デフォルトの名無しさん
08/02/08 22:58:17
確かJOYSTICK関連は英語だったな
まぁ簡単な英語だからいいけど
DirectXつかえやコラ
って事なんだろうな
213:デフォルトの名無しさん
08/02/08 23:02:08
>>206
Vistaが.netベースになったら喜んで移行してやったんだがな
214:デフォルトの名無しさん
08/02/08 23:23:13
>>165
DDKにFakeIMEというサンプルがある
215:デフォルトの名無しさん
08/02/08 23:44:49
MSDN 内を Google で検索するのが手っ取り早いよな。
216:デフォルトの名無しさん
08/02/08 23:45:30
Win32API を調べるなら
VC6 についてた MSDN が一番 。
217:デフォルトの名無しさん
08/02/09 00:00:40
あれ載ってないAPIあるし、嘘訳書いてあることもあるし、
使い勝手のあるAPIは訳されてないし。なんつーか、PlatformSDKの
英語ドキュメントよんでたほうがマシ。
218:デフォルトの名無しさん
08/02/09 00:00:51
IMEの辞書ってプログラムで使う方法ありますか?
日本語文章を解析して何かしたいので、その辞書として使いたいのですが……
219:デフォルトの名無しさん
08/02/09 00:05:22
>>218
このスレで"IME"でレス抽出すると挙がってくる質問は全て君かね?
そろそろIMEスレでも立ててしてくれ
220:デフォルトの名無しさん
08/02/09 00:08:44
おい、許可がでちまったぞw
立てちまえよマジで
俺も知りたいし
221:デフォルトの名無しさん
08/02/09 00:11:11
>>219
レス検索してみた。
ちょっといくつか気になるワードでググってきます ノシ
222:デフォルトの名無しさん
08/02/09 00:11:43
昔変換候補出すときにフックして常に変換結果を「ちんこ」にした事はある
IMEはバージョンに依存する動作が多くて面倒だった記憶が
223:デフォルトの名無しさん
08/02/09 01:06:45
ちんことか
224:デフォルトの名無しさん
08/02/09 01:42:49
ちんこウイルスか
225:デフォルトの名無しさん
08/02/09 04:33:22
URLDownloadToFileでダウンロードできるサイトと出来ないサイトがあるんだけど
何が原因だと思いますか?
別のPCで実行すると全てダウンロードできるんですがメインのPCで試してみると
出来るサイトと出来ないサイトが出てきてしまいます
色々試してみたけど規則性がまったく分からない
コントロールパネルからインターネットオプションでプロキシを全てはずしても
同じ結果になってしまいます。他にもしかしたらこれが原因かもとかいうのありませんか?
226:デフォルトの名無しさん
08/02/09 04:39:04
hostsファイル?
227:デフォルトの名無しさん
08/02/09 05:36:48
教えてください。
VC2008EEの環境でCreateWindowExが実行されないみたいです。
ビルドのエラーは出ていない、定義へ移動でwinuser.hに飛ぶ、
#pragma comment(lib,"user32.lib")をソースの頭に書いている状態です。
Debugでブレークポイント置いても実行可能コードは無いって言われます。
成功するRegisterClassExの後ろに置いてみても状況は変わりません。
まぬけなミスしてるんだと思うんだけど、どの様に直せば良いですか?
228:デフォルトの名無しさん
08/02/09 06:08:24
ソース晒せ
229:デフォルトの名無しさん
08/02/09 06:22:35
>>227
#pragma comment(lib,"user32.lib")を頭に書いてCreateWindowExで作ってみたけど
普通に動くよ。2008のProだけど
>実行可能コードは無い
プロジェクト作り直してみたら直ることがある
230:デフォルトの名無しさん
08/02/09 08:13:13
横丁はパリのシャンゼリゼ~
富士の白雪ぁフェニックス~
だけど僕らのキョーちゃんは~
豚足大好き、ブヒっ好き~
キョーモト キョーモト
きょうふのキョーーーーーーー(長いわ!)ーーーっちゃん
231:デフォルトの名無しさん
08/02/09 08:44:21
おれその頃のダウンタウン嫌いだったわ
意味不明な着ぐるみ系コントばっかりで
232:デフォルトの名無しさん
08/02/09 09:23:26
(もうええわ)
じゃないか
233:デフォルトの名無しさん
08/02/09 10:43:11
*.rcファイルはソースファイルなんでしょうか
それともリソースファイルなんでしょうか
どちらに追加してもうまくいくようで気に入らないんですが
234:デフォルトの名無しさん
08/02/09 11:23:53
VC++の話?
ビルドするときにはファイル毎にどういうことを行うかという設定を見ており、
(その設定はファイルを追加したときに拡張子から標準の設定がなされる)
ソリューションエクスプローラでどこのフォルダに入っているかということはビルドに一切関係ない。
235:デフォルトの名無しさん
08/02/09 12:21:37
POINT pos = { 0, 0 };
draw( "hello world", pos );
と書くところを一旦posを定義しないで直接POINT型変数をdrawに与えるにはどうしたらいいですか
draw( "hello world", { 0, 0 } ); 的な…
236:デフォルトの名無しさん
08/02/09 12:55:57
C++ならコンストラクタに引数付けて渡すとか。
draw( "hello world", myCPOINT(0, 0));
Cならdrawの関数宣言を変えてしまうとか。
typedef void (*tdraw)(const char *, int x, int y);
tdraw pdraw = (tdraw)draw;
pdraw( "hello world", 0, 0);
スタックの積まれ方に注意。(xとy逆だったかも)
237:デフォルトの名無しさん
08/02/09 12:57:33
直接
((tdraw)draw)("hello world", 0, 0);
でもいい。
238:デフォルトの名無しさん
08/02/09 13:00:24
そんな事するくらいなら最初のやり方の方がずっといい
239:デフォルトの名無しさん
08/02/09 13:05:17
うるせーボケ
どうしたらいいですか、ときたから答えたまで
後出しジャンケン野朗が
240:デフォルトの名無しさん
08/02/09 13:21:34
draw( "hello world", (POINT){ 0, 0 } );
241:デフォルトの名無しさん
08/02/09 13:23:51
すまん >>240 はコンパイラ依存だ
242:デフォルトの名無しさん
08/02/09 13:30:28
あきらかにhackぽい方法を教えるなよ
243:デフォルトの名無しさん
08/02/09 13:55:55
POINT f(int x, int y){POINT pt = {x,y}; return pt;}
draw("hello world",f(0,0));
244:227
08/02/09 13:59:44
ミスってる場所を外しているかもしれないので思い切って丸ごと上げました。
DLパスは名前の値です。
URLリンク(www.dotup.org)
>>229
テストありがとう。基礎が出来てないだろう俺にはもう判りません…orz
245:デフォルトの名無しさん
08/02/09 14:25:53
>>244
CApplicationBase::GlobalWindowProc
が大変なことになってるぞw
CreateWindowExが失敗するのは、常にreturn S_OK;で処理しているため。
S_OK(=0)はCOMの正常終了値で使われる定義だが、
Window Procedureでは、正常終了値は大抵TRUE(=1)。
(※戻り値はメッセージにより異なる)
Window Procedureの仕様は、下記参照。
URLリンク(msdn2.microsoft.com)(VS.85).aspx
246:デフォルトの名無しさん
08/02/09 14:29:21
CWindowBase::LocalWindowProcでCDXWndBase::LocalWindowProcの戻り値をreturnしてない
247:デフォルトの名無しさん
08/02/09 14:38:27
質問です。
現在実行中のプロセスが、管理者権限を持っているかを調べるAPIを教えてください。
UACが有効になっているVistaで、Administratorsに入っているユーザーが、
「管理者として実行」をしているかを調べたい、というのが動機です。
248:227
08/02/09 14:49:57
>>245,246
さんきゅう。その辺良く判ってないので、勉強してくる。
249:デフォルトの名無しさん
08/02/09 15:18:44
>>247
IsUserAnAdminはそういう用途には使えないのかなぁ
250:デフォルトの名無しさん
08/02/09 17:09:55
Windowsx.hの便利さは異常
251:デフォルトの名無しさん
08/02/09 17:52:16
SIF_DISABLENOSCROLLの説明の使用不可にするってのはつまみとかを触れなくするだけ?
キースクロールでメッセージ投げる分には普通にスクロールするんだが
252:デフォルトの名無しさん
08/02/09 18:28:56
天才現る
253:デフォルトの名無しさん
08/02/09 21:30:53
JPEGファイルの表示をするにはどうしたらいいですか
254:デフォルトの名無しさん
08/02/09 21:32:25
ブラウザで開く
255:デフォルトの名無しさん
08/02/09 21:33:07
WIN32APIの関数を使ってJPEGファイルの表示をするにはどうしたらいいですか
256:デフォルトの名無しさん
08/02/09 21:37:53
>>255
ShellExecute
257:デフォルトの名無しさん
08/02/09 21:41:35
BitBlt関数を使ってJPEGファイルの表示をするにはどうしたらいいですか
258:デフォルトの名無しさん
08/02/09 21:46:46
BitBlt(表示するDC, ... , ブラウザのDC, ...)
259:デフォルトの名無しさん
08/02/09 21:56:39
外部プログラムを使わない方向でJPEGファイルを読み込んでBitBlt関数で表示するにはどうしたらいいですか
260:デフォルトの名無しさん
08/02/09 22:00:10
BitBlt(表示するDC, ... , 外部アプリのじゃないDC, ...)
261:デフォルトの名無しさん
08/02/09 22:06:36
その外部アプリのじゃないJPEGデータが展開されたDCはどうやって作成すればいいのですか
262:デフォルトの名無しさん
08/02/09 22:11:04
漫才わろすw
263:デフォルトの名無しさん
08/02/09 22:17:41
GDI+とかOleLoadPictureとか
264:デフォルトの名無しさん
08/02/09 22:18:39
JPEGの仕様書を眺めてデコーダを作るといいよ
265:デフォルトの名無しさん
08/02/09 22:38:46
離散コサイン変換
266:デフォルトの名無しさん
08/02/09 22:41:16
ハフマン符号
267:デフォルトの名無しさん
08/02/09 22:47:19
libjpegのソースに付随しているexample.cに
GLOBAL(int) read_JPEG_file (char * filename)
あるからそこからスタートしてみたら?
デコーダーの気にくわない部分があれば、
すっ飛ばしてstaticにリンクすればよい。
268:デフォルトの名無しさん
08/02/09 22:49:02
Win32APIスレだっつーの。
269:デフォルトの名無しさん
08/02/09 23:05:53
じゃあ BI_JPEG?
270:デフォルトの名無しさん
08/02/09 23:17:39
Win32APIスレだからGDI+を使った回答はは禁止
271:デフォルトの名無しさん
08/02/09 23:30:39
デスクトップユーティリティを作っているのですが、
フォーカスのあるプログラムに対してIMEによる入力が行われているときとそうでないときで動作を変えたいのですが、
他のプロセスのIME状態を取得するにはどんな方法がありますか?
#IME入力中にマウスクリックで別のウィンドウをアクティブにしてから戻しても
#漢字変換を続行できるのを見ると結構ややこしそうです。
272:デフォルトの名無しさん
08/02/09 23:59:12
はは禁止
273:デフォルトの名無しさん
08/02/10 00:12:15
はは禁止禁止
274:デフォルトの名無しさん
08/02/10 00:35:01
>>270
GDI+も広義のWin32のうちだろ。
もちろんネイティブC++ APIの方。
275:デフォルトの名無しさん
08/02/10 00:48:03
>>274
はあ?
276:デフォルトの名無しさん
08/02/10 01:00:44
Win32APIの定義を教えてください
277:デフォルトの名無しさん
08/02/10 01:01:27
自治厨答えろよ。
278:デフォルトの名無しさん
08/02/10 01:47:40
Win32 Application Programing Interface
279:デフォルトの名無しさん
08/02/10 01:57:59
URLリンク(ja.wikipedia.org)
>Windows XPで、GDIはその後継であるC++ベースのサブシステムGDI+によって株を奪われた。
後継っつーならWin32APIスレの範疇にはいるんじゃないかと思う
APIはApplicationProgramingInterfaceの略で文字通りの意味しかない
32ビットのWindows用だからWin32API
他にもPOSIXで策定してるPOSIXAPIとかいろいろある
280:デフォルトの名無しさん
08/02/10 02:01:26
そんなことは訊いていない
281:デフォルトの名無しさん
08/02/10 02:10:41
MS提供のAPIって事で良いよ。定義問題になると荒れるから。
282:デフォルトの名無しさん
08/02/10 02:50:20
>>281
つまり.NETもWin32APIって訳か
283:デフォルトの名無しさん
08/02/10 03:21:21
.NETは環境をWIN32に限定しないので残念ハズレ。
284:デフォルトの名無しさん
08/02/10 03:22:41
DirectXは?
285:デフォルトの名無しさん
08/02/10 03:56:28
DirectShowはSDKに統合されたからAPIの一部って事でいいんでね?
専用スレがあるのにここで聞いても誘導されるだけだと思うが
286:デフォルトの名無しさん
08/02/10 07:19:44
>>261
Susieプラグイン
287:デフォルトの名無しさん
08/02/10 07:43:54
NTでのWindowsサブシステムの標準APIと同等のAPI
288:デフォルトの名無しさん
08/02/10 09:03:12
COM周りでのも提供されてる微妙だな
289:デフォルトの名無しさん
08/02/10 10:05:08
Winsock, WinInet, WinHTTP, Theme, DWM, TSF, MSXML
290:デフォルトの名無しさん
08/02/10 10:44:43
>>288
日本語でおk
291:デフォルトの名無しさん
08/02/10 11:03:59
数値を文字列に変換するAPIって何?
292:デフォルトの名無しさん
08/02/10 11:05:58
Shell Lightweight APIにもなんかあった気がするけど、wsprintf。
293:デフォルトの名無しさん
08/02/10 11:13:12
>>292
ありがとう。
頭文字が小文字なのでCランタイムの関数だと思ったら、user32.dllのAPIなのね。
294:デフォルトの名無しさん
08/02/10 11:41:09
>>282
ネイティブC/C++から満足に使えないからWin32 APIには入らないと俺は思う。
この立場からは.NETのUnmanaged Hosting APIはWin32。
でもこのスレにそんなこと質問してきたら、
それに関してはここよりわかる人がいそうな.NETのスレへ誘導するだろうけどね。
295:デフォルトの名無しさん
08/02/10 11:44:39
shlwapiはwnsprintfの方だな
296:デフォルトの名無しさん
08/02/10 16:43:12
MS提供のAPIなんて書いたら.NETどころかMFCやATLなんかもこのスレで扱う事になるだろ
297:デフォルトの名無しさん
08/02/10 16:44:28
このスレは技術レベル高い人が多いから、多少駆け込み寺みたいな
役割を求められても仕方がないのかも。
色んな質問が来るのは勲章だと思えばいいんじゃないかな。
広めに受け入れて、誘導できるものは誘導すればいい。
298:デフォルトの名無しさん
08/02/10 16:53:24
LoadImageで、パレットの違う2つの256色ビットマップから
DDBを作り、少しずつ色を変えながら色を出力すると、
表示されない色が出て、その色は2つのビットマップで違うのですが、
DDBにもパレットみたいなのがあるのでしょうか。
299:デフォルトの名無しさん
08/02/10 17:12:53
少しずつ色を変えながら出力とは、
LoadImageでできたDDBを出力先にし、
FillRectで小さい四角を、
色、位置を少しずつ変えながら出力する感じです。
出力先は普通はCreateBitmap等で作ったDDBに
すると思うんですが、実験という事でそれに出力しています。
300:デフォルトの名無しさん
08/02/10 18:32:01
ひとつのプロセスが開いているハンドル
(CloseHandleで閉じるハンドル・特にファイルハンドル)
を列挙する方法はありませんか?
GetProcessHandleCountっていうのを見つけたのですが、これだと数しかわかりません。
301:デフォルトの名無しさん
08/02/10 18:34:50
高いのは技術レベルってより、知識量レベルだろ。その知識を生かして
どうプログラムに落とすかがプログラマの真価が問われる。このスレじゃ、それはわからん。
302:デフォルトの名無しさん
08/02/10 18:44:10
突然マの真価とか語られても・・・それこそマ板でやれ
303:デフォルトの名無しさん
08/02/10 19:12:22
297に同意
>DDBにもパレットみたいなのがあるのでしょうか。
あるよ。
SelectPaletteやCreatePaletteなどのAPIはDDBでも使用可能
304:デフォルトの名無しさん
08/02/10 20:02:29
xpでVS2008express editionでスクリーンセーバー作ろうとしたら
コンパイルできるのに起動時にエラーがでるのだが。
ちなみにsystem32以下のuser32.dllのタイムスタンプは2004年8月4日になってる。
わかる?
エラーメッセージ
「エントリポイントが見つかりません
プロシージャエントリポイントChangeWindowMessageFilterがダイナミックリンクライブラリUSER32.dllから見つかりませんでした」
ソース
#include <windows.h>
#include <scrnsave.h>
#pragma comment(lib, "scrnsavw.lib")
#pragma comment(lib, "comctl32.lib")
LRESULT WINAPI ScreenSaverProcW(HWND hWnd, UINT msg,WPARAM wParam, LPARAM lParam)
{
return DefScreenSaverProc(hWnd, msg, wParam, lParam);
}
BOOL WINAPI ScreenSaverConfigureDialog(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
return TRUE;
}
BOOL WINAPI RegisterDialogClasses(HANDLE hInst)
{
return TRUE;
}
305:デフォルトの名無しさん
08/02/10 20:09:33
ChangeWindowMessageFilterはVistaにしかない
306:デフォルトの名無しさん
08/02/10 20:12:56
あれ?どこかのスレでも同じ質問みたな
307:デフォルトの名無しさん
08/02/10 20:13:57
付属ライブラリがVista専用かよ
308:デフォルトの名無しさん
08/02/10 20:19:33
targetver.h 書き換えろよ。デフォルトがVistaになってるぜ。
309:デフォルトの名無しさん
08/02/10 20:26:04
>>306
VS2008スレで見たね
310:304
08/02/10 21:07:55
なんだ、2008はほとんどvista用か
2005入れ直すかな
他のスレに同じことやってる奴がいてわらた
みんなthx
311:デフォルトの名無しさん
08/02/10 21:10:53
そして無視される308お陀仏……。
312:デフォルトの名無しさん
08/02/10 21:32:12
他のスレでも同じように2005を入れなおそうという奴がいるのか
それはちょっと面白いな
313:デフォルトの名無しさん
08/02/11 01:19:48
VS2008でセィバーだが、こっちにも俺と同じヤツがいたwww
これ、MSのどっかにねじ込んでおけばいいんだよな?
314:デフォルトの名無しさん
08/02/11 02:03:00
タスクメニューのアイコンを右クリックすると、メニューが出るプログラムを作成しています。
一応完成したのですが、アイコンをクリックした時に
2回目のクリックからタスクバーのプロパティーまで表示されてしまいます。
マウスのイベントがタスクバーまで伝播しているようなのですが、
この回避方法はどうやればいいのでしょうか?
誰かご教授ください。
315:デフォルトの名無しさん
08/02/11 02:11:15
貴様の間違ったコードを正しくすればいい。
正しく書いていればそのような挙動はしない。
316:デフォルトの名無しさん
08/02/11 03:03:52
こんばんは
早急に教えてください。
malloc() はどのDLLのエクスポート関数でしょうか?
317:デフォルトの名無しさん
08/02/11 03:07:02
msvcrt20.dllだな
318:316
08/02/11 03:11:10
>>317
ありがとう
319:デフォルトの名無しさん
08/02/11 03:17:57
ざくざくでてくるね。
crtdll.dll
msvcrt.dll
msvcrt40.dll
mscvr70.dll
mscvr71.dll
mscvr80.dll
mscvr90.dll
mscvr71d.dll
mscvr80d.dll
mscvr90d.dll
cc3250mt.dll (Borland)
cygwin1.dll
320:デフォルトの名無しさん
08/02/11 03:26:49
ほとんどバージョンかデバッグ版かどうかの違いだな。
321:デフォルトの名無しさん
08/02/11 03:34:24
タブコントロールの行が複数行になるかどうかを調べる方法ってないですか?
誰か教えてください
322:デフォルトの名無しさん
08/02/11 05:03:20
>>314
もしかして通知トレイのことか?
メニュー出す直前にSetForegroundWindow()を呼ぶ
あとNULLでSendMessage()
323:デフォルトの名無しさん
08/02/11 05:11:46
っと、Postだった
324:デフォルトの名無しさん
08/02/11 05:59:42
画像ビューアを作ってて、ファイルの並び順をエクスプローラと同期させたいのですが
アイコンの整列の「名前」「サイズ」「種類」「更新日時」の状態を取得することって出来ないでしょうか?
325:デフォルトの名無しさん
08/02/11 06:45:49
エクスプローラを2つ表示させてソート順変更しても、
それぞれ同期してないけど、その場合どうするつもり?
後で指定されたソート方法を優先?
そもそもこれってAPIの質問?
326:デフォルトの名無しさん
08/02/11 08:36:47
>>303
ありがとうございます。
327:デフォルトの名無しさん
08/02/11 09:06:30
>>324
IShellFolder2::GetDefaultColumn()でどう?
URLリンク(msdn2.microsoft.com)(VS.85).aspx
URLリンク(msdn2.microsoft.com)(VS.85).aspx
2000or98ME以降になっているが
95,98のIShellFolderやIShellDetailsにはそれらしきメンバは無いな。
エクスプローラを最後に閉じたときの状態が取得できるようなので
厳密に同期を取る325のいうようなケースは厄介そう。
> アイコンの整列の「名前」「サイズ」「種類」「更新日時」の状態を
> 取得することって出来ないでしょうか?
シェルを拡張してColumnが追加されているケースもありうるよ
328:デフォルトの名無しさん
08/02/11 09:26:54
>>321
スタイルにTCS_MULTILINEがついているかどうかで
329:314
08/02/11 13:36:41
>>322
レスサンクス!ActiveとNull送信はやってます。
原因はWM_ACTIVEをラップしてなかったからです。
商用アプリでも同じ現象が発生してて、ちょっとびっくりしてました。
どうもです。
330:321
08/02/11 16:16:49
>>328
すいませんちょっと情報不足でした
スタイルにTCS_MULTILINEを設定しても、タブが少なかったら1行で表示されますよね?
TCS_MULTILINEを設定して、タブを追加して、その結果として複数行で表示されるか否かを知る方法はないのでしょうか?
ということが聞きたかったのですが
331:デフォルトの名無しさん
08/02/11 16:19:20
難しい
GetClientRectとTCM_ADJUSTRECTを使えば
タブのつまみ部分に使われてる高さは分かる
332:321
08/02/11 16:51:59
>>331
レスありがとうございます
結果的に取得したかったのはタブのつまみの高さなので、それで十分です
333:デフォルトの名無しさん
08/02/11 20:41:11
>>330
ごめん。そこまで気が回らなかった。
解決したみたいだけど、
事前に知ることはできなそうだが、追加後でよければ
TCM_GETROWCOUNTで行数を取得できるよ。
334:デフォルトの名無しさん
08/02/12 00:17:40
SelectObject( hdc, CreateSolidBrush(RGB( 0, 0, 0) );
とした場合はDeleteObject()しなくていいですか
335:デフォルトの名無しさん
08/02/12 00:42:06
>>334
だめです。
new = CreateSolidBrush(...);
old = SelectObject(..., new);
個々で何らかの処理。
SelectObject(..., old);
DeleteObject(new);
とするべき。
336:デフォルトの名無しさん
08/02/12 00:47:10
こう書けなくもないはずだが、あまり見ない書き方だから、やめたほうがいい。
old = SelectObject(..., CreateSolidBrush(...));
DeleteObject(SelectObject(..., old));
337:デフォルトの名無しさん
08/02/12 01:00:10
けどそれなら、変数用意しなくて良いな。
別の方向に混乱しそうだけど。
どういう処理なのか一瞬わからんかったw
338:デフォルトの名無しさん
08/02/12 01:15:58
CreateSolidBrushの戻り値を見てないってのが気にはなるなあ。
滅多に失敗しないのは確かだけど。
339:デフォルトの名無しさん
08/02/12 01:46:29
もう面倒くさいしディリートしなくてもいいじゃん
ディリートしないせいで問題が起きたことないし
340:デフォルトの名無しさん
08/02/12 01:52:44
9xを使ったことがないから言えるセリフだな、それ。
いや、確かめたわけではないけれど。
341:デフォルトの名無しさん
08/02/12 01:52:50
ここで
「いちいちディリートしなくても勝手にGCしろよ」
とドトネト厨登場↓
342:デフォルトの名無しさん
08/02/12 01:56:18
RAIIクラスを作って
デストラクタででぃりーとしろよ
343:デフォルトの名無しさん
08/02/12 01:59:50
Sleipnirが盛大にGDIリソースリークしてて、
連続稼動させてると他のアプリケーションまで表示がぐちゃぐちゃになったことがあったな。
344:デフォルトの名無しさん
08/02/12 02:23:45
こうですか、わかりません!
class GDIBinder : noncopyable{
HDC mhdc;
HGDIOBJ old;
public:
GDIBinder (HDC dc, HGDIOBJ obj)
: mhdc(dc)
{
old = SelectObject( mhdc, obj );
}
~GDIBinder(){
SelectObject(mhdc, old );
}
operator HDC (){return mhdc;}
};
345:デフォルトの名無しさん
08/02/12 04:40:47
重い処理をさせたらウィンドウを動かしたりできなくなるんですが、どうすれば
WinRARみたいに重い処理をさせてもウインドウ動かしたり出来るようになりますか?
346:デフォルトの名無しさん
08/02/12 04:43:48
スレッドわけろ。
347:デフォルトの名無しさん
08/02/12 04:44:17
MultiThreadですよ。
348:デフォルトの名無しさん
08/02/12 04:48:56
ありがとうございます。やっぱりああいうのはマルチスレッド使ってるのか
勉強してみます
349:デフォルトの名無しさん
08/02/12 08:56:05
>>344 RestoreDCを忘れるなよ
350:デフォルトの名無しさん
08/02/12 12:47:18
>>225
クッキー
351:デフォルトの名無しさん
08/02/12 13:31:04
何回もSelectObjectをかけながら処理してく場合、いちいち戻さないで
最初にSaveDC/最後にRestoreDCで一気に戻した方が楽な場合もある
352:デフォルトの名無しさん
08/02/12 13:56:30
Server2008対応の新SDK正式版出てたのね
353:デフォルトの名無しさん
08/02/12 16:50:18
>>352
urlぐらい書けよ
354:デフォルトの名無しさん
08/02/12 17:05:54
URLリンク(www.microsoft.com)
355:デフォルトの名無しさん
08/02/12 17:38:29
PlatformSDKの新版はもう出ないのかな・・・
356:デフォルトの名無しさん
08/02/12 18:32:21
まさにこれだろ。
WindowsSDKに名前が変わって、.NETも含まれるようにはなったけど。
357:デフォルトの名無しさん
08/02/12 18:39:13
>>356
.NET使わないんでPlatformSDKの頃みたいにWin32関連だけインスコできればなと
色々統合されてたりして無理なのかな
358:デフォルトの名無しさん
08/02/12 18:45:04
Windows SDK = Platform SDK + .NET Framework SDK
359:デフォルトの名無しさん
08/02/12 19:10:04
.NET FrameworkをインスコしないでPlatformSDKだけ入れさせろって意味
360:デフォルトの名無しさん
08/02/12 19:11:13
やってみれ
361:デフォルトの名無しさん
08/02/12 20:09:28
ボタンコントロールで質問です。
BM_SETSTATEで押し込んだ状態にできますが、
クリックしたり、クリックしたままボタンの上から移動すると
出っ張った状態に戻ってしまうんですが、
トグルボタンのようなものを作るにはどうしたらよいですか。
MFCなら同じメッセージを送ればそのまんま動くみたいですが
MFCなしでお願いします
362:デフォルトの名無しさん
08/02/12 20:34:05
リストビューコントロールについて質問します。
リポートビュースタイルを適用しています。
リストビューに項目を設定するには、
LVITEM lv;
lv.iItem = 0;
ListView_InsertItem(hListView, &lv);
ListView_SetItemText(hListView, 0, 1, TEXT("項目1-1"));
という形で大丈夫なはずだと思うんですが、なぜかうまくいきません。
どこがおかしいのでしょうか
363:デフォルトの名無しさん
08/02/12 20:55:26
>>359
インストール時のコンポーネント指定でドトネト関連だけ外せばいいじゃん
ダウンロードするファイルのサイズ自体を減らしたいというならそれは無理な相談、だがwebインスコなら可?
364:デフォルトの名無しさん
08/02/12 21:06:07
Sleep(1);よりも短い時間のウェイトは作れない?
精度はまったくいらないんだけど。
365:デフォルトの名無しさん
08/02/12 21:11:35
じゃあ1でいいだろ
366:デフォルトの名無しさん
08/02/12 21:12:24
精度要らないならSleep(1)でいいじゃん。
367:デフォルトの名無しさん
08/02/12 21:13:09
ビジーループでおk
368:デフォルトの名無しさん
08/02/12 21:15:10
>>362
そのリストビューはカラムを2つ以上追加した状態なのか?(ListView_SetItemTextの第3引数は一番左のカラムなら0)
あとLVITEMは宣言時に { 0 } で初期化したほうがいい
まずはリファレンスか入門サイト見たほうがいいよ
369:デフォルトの名無しさん
08/02/12 21:21:34
>>364
どんなウェイト?
他のスレッドに一瞬制御渡したい目的なら「メッセージポンプ」で検索。
そうじゃなきゃvolatile int i; for(i=0;i<100;i++);とかで適当に回すとか。
370:デフォルトの名無しさん
08/02/12 21:30:25
I/Oポート触ったら約1μ秒だ、ってどっかに書いてあった
371:デフォルトの名無しさん
08/02/12 21:33:47
>>364
精度がいらなくて短いウェイト?
つSwitchToThread()
372:デフォルトの名無しさん
08/02/12 21:40:21
>>363
ランタイムは勝手にインスコされた気がするが。
373:デフォルトの名無しさん
08/02/12 22:18:03
>>368
ゼロで初期化したら、”できました!!”
カラムは4本です。だけど、不思議です。
ありがとうございました。!!!!
374:デフォルトの名無しさん
08/02/12 23:18:37
>>364
Sleep(0);
375:デフォルトの名無しさん
08/02/12 23:39:45
SetTimerのタイムアウト値って動的に変えるにはどうすればいいの?
UINT型でキャストした変数じゃむりですた
376:デフォルトの名無しさん
08/02/13 00:02:33
ウィンドウズのシステムの休止や終了に関する質問です。
システムの終了時を捉えるには、WM_ENDSESSION メッセージに対応すればいいと思うんですが、
ハイバネーションモードに入るのを捉えるにはどうしたらいいでしょうか
タイマーでプログラムが生きてるかどうか確認する方法しか思いつかないです。
(定期的に時間差をとることで、復帰後にシステムが休止状態にあった時間を調べるという泥臭い方法くらい)
377:デフォルトの名無しさん
08/02/13 00:03:33
>>375
普通に最初に指定したタイマーIDと同じIDを指定して、新しい時間を設定すればOKだと思いますが
378:デフォルトの名無しさん
08/02/13 00:33:28
>>361
オーナードローを使えと言いたいところだが…
379:デフォルトの名無しさん
08/02/13 00:50:41
>>361
BS_RADIOBUTTON,BS_CHECKBOX,BS_AUTORADIOBUTTON,BS_AUTOCHECKBOX
のいずれかとBS_PUSHLIKEを組み合わせればトグル動作するけど
どうだろう?
380:デフォルトの名無しさん
08/02/13 00:54:37
>>376
WM_POWERBROADCASTとか
381:デフォルトの名無しさん
08/02/13 01:46:07
人材管理は技術のないやつの逃げ道ですか
382:デフォルトの名無しさん
08/02/13 02:24:07
他人を使うことができる人間は、1日に24時間以上の時間を使うことができるのです
が、ム板にはこういうレスと人は不要です
383:デフォルトの名無しさん
08/02/13 05:52:26
これひょっとしたらAPI関係ないかもしれないんですけど、
スレッドの開始関数に情報を渡すときってどうすればいいんですか?グローバル変数?
384:デフォルトの名無しさん
08/02/13 07:21:02
>>383
void*の引数があるから、それで何とかしろ。
素人にはお勧めしない方法だが、下のような方法で組むことがあるな。
渡した内容をきちんと受け取るまで待っている所が重要。
static foo_data {
volatile int flag;
int data1;
}
DWORD ThreadProc (LPVOID lpParam) {
struct foo_data param = *(struct foo_data *)lpParam;
((struct foo_data *)lpParam)->flag = 1;
...
}
HANDLE ThreadStartProc(int data1) {
struct foo_data param = { 0, data1 };
HANDLE hThread;
if ( (hThread = CreateThread(NULL, 0, ThreadProc, ¶m, ...)) != NULL ) {
while ( !param.data1 ) Sleep(100);
}
return hThread;
}
385:デフォルトの名無しさん
08/02/13 08:44:44
SleepにINFINITE渡しても49.7日後に起きないよね?
386:デフォルトの名無しさん
08/02/13 09:17:35
アクティブウィンドウとフォアグラウンドウィンドウとフォーカスの違いについて教えてください。
387:デフォルトの名無しさん
08/02/13 09:47:16
フォーカスは別物。正しくはキーボードフォーカスって言えばなんだかわかるよな?
388:383
08/02/13 16:34:53
>>384
すみません自己解決しました
グローバル変数とクリティカルセクションを併用すればいいみたいです
void *の引数はWindowsで使用する的なことが書いてあったので避けていたのですが、その方法でも出来るんですね
蛇足だけど、1行目のstaticってのはきっとstructのことですよね
389:デフォルトの名無しさん
08/02/13 17:22:10
普通にnewなりmallocなりして渡せばいいのに
390:デフォルトの名無しさん
08/02/13 17:42:42
素人にはお勧めしないとか言ってるくせに>>384のコードが素人丸出しな件について
391:デフォルトの名無しさん
08/02/13 17:51:09
こっちの方が問題のような
-while ( !param.data1 ) Sleep(100);
+while ( !param.flag ) Sleep(100);
392:デフォルトの名無しさん
08/02/13 19:29:25
>>384>>388>>391
そういう待ち合わせにはイベントを使う。
クリティカルセクションとフラグじゃItaniumでうまく動かないし、
一回空振りしただけで無駄に 100msec も待ってしまう。
それからデータの受け渡しだけなら、new した構造体のポインタを渡して
スレッド側で不要になったら解放すれば、そもそも待ち合わせる必要もない。
393:デフォルトの名無しさん
08/02/13 19:40:22
>>379
まさにそれでした。まさか普通のボタンではないとは。
ありがとうございました。
394:384
08/02/13 22:04:32
確かに色々間違い杉だった。朝っぱらから書き込むもんじゃない。orz
メモリバリアは完全に忘れてた。Interlock系API使わなきゃダメだな。
でもクリティカルセクションが駄目な理由が良く判らん。何で?
まあ、Cで解放とか面倒なことをせずに済むように考えて書いたコードだから勘弁。
395:383
08/02/13 23:00:55
>>392
イベントですか・・・調べてみます
396:392
08/02/13 23:09:16
>>394
>でもクリティカルセクションが駄目な理由が良く判らん。何で?
漏れの眼か頭が悪くて、転記していながら見落としていたからw
397:386
08/02/13 23:43:26
>>387
どうもです。フォーカスはキー入力を受け付けるということで良いのですが、
フォアグラウンドとアクティブウィンドウはどう違うのでしょうか?
SetForegroundWindow() の説明では「アクティブウィンドウにしてフォーカスをセットする」
と記述されてますが、アクティブウィンドウとはタイトルバーの色が変わっているウィンドウのことでしょうか?
398:デフォルトの名無しさん
08/02/14 00:13:51
WinAPI勉強し始めてからCPUの凄さに驚かされっぱなしです
CUIの時は実感なかったけどこんな複雑な計算が一瞬で行われてるなんて…
人はなんて恐ろしいものを作ってしまったんだ
399:デフォルトの名無しさん
08/02/14 00:26:01
なんとなく宇宙ヤバイ思い出した
400:デフォルトの名無しさん
08/02/14 00:43:05
ヤバイ。CPUヤバイ。まじでヤバイよ、マジヤバイ。
CPUヤバイ。
まず速い。もう速いなんてもんじゃない。超速い。
速いとかっても
「リニアモータカーくらい?」
とか、もう、そういうレベルじゃない。
何しろギガ。スゲェ!なんか単位とか丸められてるの。何キロとか何万とかを超越してる。10億倍だし超速い。
しかもさらに速くなってるらしい。ヤバイよ、加速だよ。
だって普通は時間とか加速しないじゃん。だって寝てられる時間がだんだん短くなったら困るじゃん。5分しか寝られないとか困るっしょ。
朝日が出て、先月は沈むまで16時間だったのに、今日は2時間とか泣くっしょ。
だから時間とか加速しない。話のわかるヤツだ。
けどCPUはヤバイ。そんなの気にしない。加速しまくり。最も初期から考えると10億倍とかよくわかんないくらい速い。ヤバすぎ。
ギガって言ったけど、もしかしたらテラかもしんない。でもテラって事にすると
「じゃあ、テラの次ってナニよ?」
って事になるし、それは誰もわからない。ヤバイ。誰にも分からないなんて凄すぎる。
あと超熱い。約333ケルビン。摂氏で言うと60℃。ヤバイ。熱すぎ。生卵が温泉卵になっちゃう。怖い。
それに超高集積。超キツキツ。それに超高い。10億万円とか平気で出てくる。億万円て。小学生でも言わねぇよ、最近。
なんつってもCPUは計算力が凄い。WinAPIとか平気だし。
うちらなんてプログラムとかたかだかエクセルマクロで出てきただけで上手く扱えないから使わなかったり、
足し算くらいにしか使わなかったり、出来る人にやって貰ったりするのに、CPUは全然平気。WinAPIを機械語のまま扱ってる。凄い。ヤバイ。
とにかく貴様ら、CPUのヤバさをもっと知るべきだと思います。
そんなヤバイCPUを作ってるAMDとか超偉い。もっとがんばれ。超がんばれ。
401:デフォルトの名無しさん
08/02/14 00:45:03
わざわざ作ったのか
402:デフォルトの名無しさん
08/02/14 00:47:24
>>400
ワロタw
403:デフォルトの名無しさん
08/02/14 00:50:15
すまん、つい・・・
404:デフォルトの名無しさん
08/02/14 00:53:42
>>400
くると思ったw
405:デフォルトの名無しさん
08/02/14 02:50:46
>>400
和んだwww
406:デフォルトの名無しさん
08/02/14 18:17:51
私はノートパソコンを使っているのですが、少し前にうっかりしてコカコーラをこぼしてしまいました。
慌てて逆さにしたり、ドライヤーで乾かしたりしたのですが、キーの入力がおかしくなってしまいました。
今はUSBキーボードを繋いでパソコンを使っているのですが、けっこうな頻度で押してないキーが押されている状態になります。
USBのキーボードを外していても起きるので、ノートのキーボードのほうからキーの入力が起きていると思われます。
コントロールパネルからドライバのアンインストールをしてみたのですが、再起動すると勝手にインストールされてしまいます。
なので、自作のプログラムでノートのキーボードからだけの入力をシャットアウトしたいのですが、APIで解決できますか?
407:デフォルトの名無しさん
08/02/14 18:20:50
ジュースの成分が残ってて短絡してるだけだからノートPCを分解してキーボードを水洗いすれば直るよ。
408:デフォルトの名無しさん
08/02/14 18:44:09
分解ですか・・・。
機械音痴なので元に戻せるかどうかが心配です・・・。
いざとなったらやってみたいと思います。
409:デフォルトの名無しさん
08/02/14 19:26:01
電源ボタンとキーボードが一体化されてないのなら
キーボードをコネクタのとこから外しちゃえ。
ThinkPadにコーラ飲ませたときは電源入れるときだけ繋いでたなあ。
410:デフォルトの名無しさん
08/02/14 20:11:23
チソコパッド
411:デフォルトの名無しさん
08/02/14 22:35:19
>>392
> それからデータの受け渡しだけなら、new した構造体のポインタを渡して
> スレッド側で不要になったら解放すれば、そもそも待ち合わせる必要もない。
横からだけど、そんなの気づかなかった。ずっとイベントで待ってた。トン
412:デフォルトの名無しさん
08/02/15 00:30:34
不特定のプロセスに対して自身の再起動を要求するコードを書いているのですが、
新プロセス起動→自身死亡 だと対象になるプロセスが多重起動を禁止していた場合に上手く動きません
今のところ
新プロセスサスペンド起動→リモートスレッド作成(待機)→自身死亡→死亡をトリガにリモート待機解除→リジューム
ぐらいの方法しか思いつかないのですが、なにか良い方法ってないですか?
413:デフォルトの名無しさん
08/02/15 00:32:50
中継プロセス起動→自身死亡→新プロセス起動
414:デフォルトの名無しさん
08/02/15 00:51:29
> 不特定のプロセスに対して自身の再起動を要求するコード
これって可能なの?
メモ帳みたいに「保存しますか?」とか出るやつにはどう対応するの?
415:デフォルトの名無しさん
08/02/15 00:53:25
プロセスごと殺せばいいんじゃね
416:デフォルトの名無しさん
08/02/15 00:59:35
編集中のデータが保存されないだろw
417:デフォルトの名無しさん
08/02/15 01:03:18
>>416
想像力低下していませんか?
世の中のアプリ全てがエディタではないのですよ。
418:デフォルトの名無しさん
08/02/15 01:17:25
>406
素直に修理に出したほうがいいよ。糖分は予後不良の原因になるから。
419:デフォルトの名無しさん
08/02/15 01:44:08
>>417
お前頭悪いな
「不特定のプロセス」という事はプロセスを強制的に殺したらデータが飛ぶ物もあるだろう
420:デフォルトの名無しさん
08/02/15 01:48:37
>>419
寝ているんですか?
データが飛ばないものもあるってことに気付いてください。
421:デフォルトの名無しさん
08/02/15 01:49:33
煽り合い的なものは外でやってくれると助かります
422:デフォルトの名無しさん
08/02/15 02:09:04
419と420はなぜ対立しているのかわからない。
「プロセスを強制的に殺したら、データが飛ぶものもあれば飛ばないものもある」
423:デフォルトの名無しさん
08/02/15 02:12:29
「あるプロセスを強制的に再起動する」というのが要件で、
そのとき処理中のファイルは壊れる・消えるかも知れないけど
なんとかしる、ってのはたぶん要件に入ってないんだよ。
424:デフォルトの名無しさん
08/02/15 02:20:05
Windowsのコントロールパネルにあるタスクについての質問です
再起動時刻と実行ファイルを指定して、目覚ましのような機能を実装するにはどうしたらいいでしょう
このタスクというのはレジストリに記録するものなんでしょうか?
このあたりの取っ掛かりがドコにもなくて困ってます
425:デフォルトの名無しさん
08/02/15 02:27:29
>>424
よく知らんけどITaskSchedulerというのがあるぞ
426:デフォルトの名無しさん
08/02/15 02:31:21
NetScheduleJobAddでもええのんか?
427:デフォルトの名無しさん
08/02/15 04:35:35
>>425 >>426
おお トンクスです
ITaskSchedulerはc++じゃないとダメみたいですけど、やっぱcだけじゃ先細りかなぁ
ヘルプみながらやってみます。
こういう切っ掛けがもらえると、結構ありがたいです。
ありがとう
428:412
08/02/15 06:24:41
レスどうもです
413の方法がより良いですね(楽だし)
DLLのみで実装しているので、コンポーネントが増えるのがちょっとなぁ
という感じだったのですが、どこの馬の骨とも知らんプロセスにスレッド作るのも信頼性が無いですね
で安全な自殺の問題に関しては>>423の通りです
赤の他人のプロセスの正しい終了方法ってのは無いと思っているので
終了に関しては「いいから死ねよww」的実装にする予定です
429:デフォルトの名無しさん
08/02/15 07:33:05
>>427
インターフェースはCでもきちんとアクセスできるよ。
ヘッダににもC用のマクロが生成されているはず。
430:デフォルトの名無しさん
08/02/15 13:26:47
>>428
怖いソフトだな
431:デフォルトの名無しさん
08/02/15 14:45:53
複数のウィンドウで別々の図形を表示する。
プログラムを作成しています。
URLリンク(www.gazoru.com)
URLリンク(www.gazoru.com)
最初は、別々に表示されるのですが、重なった場合
下のを上(アクティブ)にすると、一枚目と同じになって
しまいます。
○原因
○対処方法
をお教え下さると有り難いです。
ソースは、一応付けます。
Pass=1
(win2000 vc6.0)
URLリンク(www11.axfc.net)
432:デフォルトの名無しさん
08/02/15 14:46:55
主要部分プログラム
case WM_PAINT:
//1
hdc= BeginPaint( hWnd, &ps );
Rectangle(hdc, 100, 100, 400,400);
ReleaseDC(hWnd, hdc);
EndPaint( hWnd, &ps );
//2
RECT rect;
GetClientRect( hWnd3,&rect );
hdc= BeginPaint( hWnd3, &ps );
Rectangle(hdc, 0, 0, 100,100);
ReleaseDC(hWnd3, hdc);
EndPaint( hWnd3, &ps );
//3
hdc= BeginPaint( hWnd5, &ps );
Rectangle(hdc, 50, 50, 200,200);
ReleaseDC(hWnd5, hdc);
EndPaint( hWnd5, &ps );
break;
433:デフォルトの名無しさん
08/02/15 14:47:16
case WM_SIZE:
//2
hdc= BeginPaint( hWnd3, &ps );
Rectangle(hdc, 0, 0, 100,100);
ReleaseDC(hWnd3, hdc);
EndPaint( hWnd3, &ps );
//3
hdc= BeginPaint( hWnd5, &ps );
Rectangle(hdc, 50, 50, 200,200);
ReleaseDC(hWnd5, hdc);
EndPaint( hWnd5, &ps );
434:デフォルトの名無しさん
08/02/15 14:57:56
>>431
現象がよくわからん、2008でやっても再現しないみたい。
まあそれはおいといて、WM_PAINT以外でBeginPaintは使うな。
そこで書きたいならInvalidateでPAINTにまかすか、
GetDCで自分でDCもってこい
435:デフォルトの名無しさん
08/02/15 15:05:36
ってソース見るとむちゃくちゃやっとるな。
WM_PAINTの仕組みとか、ウィンドウプロシージャの動作とか
知ることはいっぱいありそうだけど、いったいどれを参考にしたのこれ?
436:デフォルトの名無しさん
08/02/15 15:58:10
VC2008Expressをインストールしようと思っているのですが、これには前もってWindowsSDKをインストールしておいたほうがよいのでしょうか。
2005と違って2008は、最初からPlatformSDKが付いているようなので、WindowsSDKは必要ないように思っているのですが、どうなのでしょうか。
437:デフォルトの名無しさん
08/02/15 16:04:41
>>436
.h ファイルや .lib ファイルを参照したり、取り込むよう指定が不要なら
要らないんじゃないか。スペルがあやしいが、dialog や listbox ctrl など
を使おうとすると、cmnctl32.lib とか要るだろう。
自分は dsound.h, dsound.lib も使うんで DirectX も入れたよ。
438:デフォルトの名無しさん
08/02/15 16:38:06
WindowsSDK6.1落としてきたんだが、6.0には付いてたコンパイラが入ってない?
セットアップのコンポーネント一覧でグレーアウトしていてチェックできない・・・
それともVS2008が入ってると自動で弾かれるのか?(2008Proが入ってる)
2005の時と同じくソース解析対応コンパイラに差し替える裏技が使えると期待したんだが。
439:デフォルトの名無しさん
08/02/15 17:00:12
>>431
>>435も言ってるけど、全体的にむちゃくちゃ。
基本から勉強し直した方がいいと思う。
とりあえず、複数のウィンドウで同じプロシージャを共有するのなら、
メッセージ受け取り時に、それを区別しないと。
URLリンク(www11.axfc.net)
Pass:1
440:デフォルトの名無しさん
08/02/15 17:01:21
質問です。
ゲームのチートツールを作るAPIって何ですか?
猫飯みたいに今実行してるプロセスのメモリを見れて
いじれるものをつくりたいんですが。
つまり実行中のほかのプロセスのメモリを書き換えるAPIとかって無いですか?