10/02/05 15:23:00
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!
過去スレ、関連リンクは>>2-10くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版( URLリンク(msdn.microsoft.com) )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- Win32API質問箱 wiki
URLリンク(wiki.livedoor.jp)
Win32API質問箱 Build85
スレリンク(tech板)
2:デフォルトの名無しさん
10/02/05 15:23:45
84 スレリンク(tech板)
83 スレリンク(tech板)
82 スレリンク(tech板)
81 スレリンク(tech板)
80 スレリンク(tech板)
79 スレリンク(tech板)
78 スレリンク(tech板)
77 スレリンク(tech板)
76 スレリンク(tech板)
75 スレリンク(tech板)
74 スレリンク(tech板)
73 スレリンク(tech板)
72 スレリンク(tech板)
71 スレリンク(tech板)
70 スレリンク(tech板)
69 スレリンク(tech板)
68 スレリンク(tech板)
67 スレリンク(tech板)
66 スレリンク(tech板)
65 スレリンク(tech板)
64 スレリンク(tech板)
63 スレリンク(tech板)
62 スレリンク(tech板)
61 スレリンク(tech板)
3:デフォルトの名無しさん
10/02/05 15:23:57
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板)
40 スレリンク(tech板)
39 スレリンク(tech板)
38 スレリンク(tech板)
37 スレリンク(tech板)
36 スレリンク(tech板)
35 スレリンク(tech板)
34 スレリンク(tech板)
33 スレリンク(tech板)
32 スレリンク(tech板)
31 スレリンク(tech板)
4:デフォルトの名無しさん
10/02/05 15:24:06
30 スレリンク(tech板)
29 スレリンク(tech板)
28 スレリンク(tech板)
27 スレリンク(tech板)
26 スレリンク(tech板)
25 スレリンク(tech板)
24 スレリンク(tech板)
23 スレリンク(tech板)
22 スレリンク(tech板)
21 スレリンク(tech板)
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)
5:デフォルトの名無しさん
10/02/05 15:24:34
引き続きクソスレクソレスの嵐をお楽しみください
6:デフォルトの名無しさん
10/02/05 15:31:55
前スレの991さんへ
これですこれです
出来ましたありがたや
7:デフォルトの名無しさん
10/02/05 15:35:19
それじゃない
それじゃない
コンソールアプリとして組んで(int mainエントリー)
GUIも使う
それが出来てからWinMainエントリーなGUIアプリ
に改造する
これが常道。
WinMainから始めるのは外道
8:デフォルトの名無しさん
10/02/05 15:40:42
そんなやり方もあるんですか?
よかったらそれも教えてください
subsystemスイッチを消すとエントリポイントを勝手に探してくれるのは知ってるけど
GUI用のメッセージキューとか?は
どうやって準備するんですか?
9:デフォルトの名無しさん
10/02/05 15:45:06
てか今時コンソールにメッセージ出すんじゃなくて
ファイルにHTMLとかでメッセージ出したほうが
見やすくね?表とかに整形して出すこととか
出来るし、フォントの大きさも色も変えられるし...
10:デフォルトの名無しさん
10/02/05 15:45:17
何も変わらない
WinMainがなにか用意してくれたか?
11:デフォルトの名無しさん
10/02/05 15:54:32
なるほど。hInstanceにGetModuleHandle(NULL)渡したら普通に出来ました
こっちはGUIが終了してもコンソールは残るのか
12:デフォルトの名無しさん
10/02/05 16:20:55
>>7
実は外道と常道なんてちょっとした差
でしかないという考えもある。ブラウザ
とかインフラが揃っておるご時世、
UNIXのシェルアプリのような組み合わせ
て使ってナンボなアプリにするわけでもな
きゃ、最初からコンソール出力はせず
>>9のようにリアルタイムにHTML出
力してブラウザでログを眺めるというよう
なやり方もありだとオモ
13:デフォルトの名無しさん
10/02/05 16:45:27
いつまでもあると思うなカネとブラウザ
ってか?
14:デフォルトの名無しさん
10/02/05 16:48:12
できた!
int test()
{
HKEY hRootKey;
char KeyName[512];
strcpy(KeyName, "SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727");
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, KeyName, 0, KEY_READ, &hRootKey) != ERROR_SUCCESS) {
printf("err!\n");
return 0;
}
DWORD dwType, DWordValue, cbBuff;
dwType = REG_DWORD;
cbBuff = sizeof(DWordValue);
if (RegQueryValueEx(hRootKey, "Install", NULL, &dwType, (LPBYTE)&DWordValue, &cbBuff) != ERROR_SUCCESS) {
RegCloseKey(hRootKey);
printf("err!\n");
return 0;
}
RegCloseKey(hRootKey);
printf("dwType=%d\n", dwType);
printf("DWordValue=%d\n", DWordValue);
return 0;
}
15:デフォルトの名無しさん
10/02/05 17:15:15
Ctrl+Oでファイルを開くとかのアクセラレータキーって
対応するメニューアイテムないと使えないんでしょうか
ショートカットキー込で再利用できる部品を作れないかと思ったんですが
メニューアイテムとセットになってるんだとすると
そういう部品化は出来ないってことになりますよね?
16:デフォルトの名無しさん
10/02/05 18:27:16
独自でアクセラレータテーブル作って非メニューコマンドを実装することはできる
CreateAcceleratorTable()で作ったハンドルをTranslateAccelerator()に渡すだけでよい
複数のハンドル作れば、PCゲームみたいな1つの操作に複数のキー割り当て的なこともできる
17:デフォルトの名無しさん
10/02/06 04:28:49
EnumWindowsて先に起動された順に列挙していくの?
18:デフォルトの名無しさん
10/02/06 09:05:10
何を言ってるんだ
19:デフォルトの名無しさん
10/02/06 11:07:19
だから
早く起動されたアプリの情報から順番に
プロシージャへ渡されるの?
20:デフォルトの名無しさん
10/02/06 11:10:35
EnumWindows で取得できるウィンドウと、プロセスには直接の関係はない。
21:デフォルトの名無しさん
10/02/06 19:00:01
Win32APIって.netでも使えますか
22:デフォルトの名無しさん
10/02/06 20:57:55
使えます。
23:デフォルトの名無しさん
10/02/06 22:42:13
つ URLリンク(ja.wikipedia.org)
24:デフォルトの名無しさん
10/02/07 00:03:34
うぃなぴ
25:デフォルトの名無しさん
10/02/07 06:06:38
全スレは史上最低の無駄スレだったな
26:デフォルトの名無しさん
10/02/07 10:02:41
そうだなすべてが無駄だ
27:デフォルトの名無しさん
10/02/07 13:32:15
winsockとSocketクラスってどっちが優れてるの
28:デフォルトの名無しさん
10/02/07 13:49:03
…
Socketクラスはwinsockで実装されてるんじゃないかな
29:デフォルトの名無しさん
10/02/07 14:11:27
ツールバーのボタンの右横に、▼マークのついた
メニューボタンをつけるにはどうしたらいいの?
30:デフォルトの名無しさん
10/02/07 14:16:36
TB_SETEXTENDEDSTYLEとTBSTYLE_EX_DRAWDDARROWS
31:デフォルトの名無しさん
10/02/07 14:43:01
有名なこのサイト
URLリンク(www.kumei.ne.jp)
信頼度は高いですか?
32:デフォルトの名無しさん
10/02/07 14:47:28
うまくいかないと思ったらMSDN確認するくらいの気で行けば平気
33:デフォルトの名無しさん
10/02/07 14:48:25
本家というかMSDNライブラリ(>>1)を信頼したほうがいい
34:デフォルトの名無しさん
10/02/07 17:07:56
apiで数式エディタを作りたいのですが
参考になるサイト等がありましたら教えて
35:デフォルトの名無しさん
10/02/07 17:12:54
URLリンク(msdn.microsoft.com)
36:デフォルトの名無しさん
10/02/07 17:17:29
参考になるサイトっていうのは
APIで数式エディタを作ろう!みたいなタイトルでサンプル提供してるような所を指してるの?
そんなニッチなもんあるわけねえだろ
37:デフォルトの名無しさん
10/02/07 17:29:32
数式エディタは難しいよ
Σとかどうやって作るんだよ
38:デフォルトの名無しさん
10/02/07 17:35:54
>>30
ありがとう
39:デフォルトの名無しさん
10/02/07 18:16:44
>>34
こんなんあるけど↓ ???
URLリンク(www.vector.co.jp)
40:デフォルトの名無しさん
10/02/07 19:17:50
数式を表示できるソフト普及するよりは、コンピュータに適した形で
数式の体系自体を変えるべきだと思うんだ
41:デフォルトの名無しさん
10/02/08 02:59:53
Tex最強!
42:デフォルトの名無しさん
10/02/08 18:02:11
ツールバーのドロップダウンメニューにチェックマークを付けたいのに
クリックしても何もおこらないんですがなんでですかねえ
HWND hToolbar;
HMENU hPopupMenu;
LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) {
switch (msg) {
case WM_COMMAND: {
if(LOWORD(wp) == 50){
MENUITEMINFO info;
info.cbSize = sizeof(info);
info.fMask = MIIM_STATE;
GetMenuItemInfo(hPopupMenu, 50, false, &info);
if(info.fState == MFS_CHECKED){
info.fState = MFS_UNCHECKED;
SetMenuItemInfo(hPopupMenu, 50, false, &info);
} else {
info.fState = MFS_CHECKED;
SetMenuItemInfo(hPopupMenu, 50, false, &info);
}
DrawMenuBar(hToolbar);
}
return 0;
}
43:デフォルトの名無しさん
10/02/08 18:03:23
つづき
case WM_NOTIFY:{
#define lpNM ((LPNMHDR)lp)
#define lpnmTB ((LPNMTOOLBAR)lp)
RECT rc;
TPMPARAMS tpm;
if(lpNM->hwndFrom == hToolbar && lpNM->code == TBN_DROPDOWN){
SendMessage(lpnmTB->hdr.hwndFrom, TB_GETRECT,
(WPARAM)lpnmTB->iItem, (LPARAM)&rc);
MapWindowPoints(lpnmTB->hdr.hwndFrom,
HWND_DESKTOP, (LPPOINT)&rc, 2);
tpm.cbSize = sizeof(TPMPARAMS);
tpm.rcExclude.top = rc.top;
tpm.rcExclude.left = rc.left;
tpm.rcExclude.bottom = rc.bottom;
tpm.rcExclude.right = rc.right;
hPopupMenu = CreatePopupMenu();
AppendMenu(hPopupMenu, 0, 50, TEXT("開く(&O)"));
TrackPopupMenuEx(hPopupMenu,
TPM_LEFTALIGN| TPM_LEFTBUTTON| TPM_VERTICAL,
rc.left, rc.bottom, hwnd, &tpm);
DrawMenuBar(hToolbar);
}
44:デフォルトの名無しさん
10/02/08 23:15:32
Windowsで開発したことないんですが、
あるスレッドが複数のイベントを待ちたい場合ってどういうふうに
設計するのが一般的でしょうか?
複数のイベントとは、片方はソケットからの入力、
もう片方は他のスレッドからの要求です。
MsgWaitForMultipleObjectはソケットが待てないっぽいんで。
環境はCで、MFCなしです。
45:デフォルトの名無しさん
10/02/09 00:35:34
windowsプログラミングでオブジェクト指向なコードが書きたいときって、アンマネージド限定でどうするのがベター?
メインウィンドウのプロシージャに振り回されて、まともな設計ができない
46:デフォルトの名無しさん
10/02/09 00:46:55
>>44
むしろ、MsgWaitForMultpleObjectでソケットが待てないソースを教えてほしい。
WaitForMultipleObjectsとかでもソケット使えるのだから、
直感的にはMsgWaitForMultpleObjectでダメとは思えないのだけど。
47:デフォルトの名無しさん
10/02/09 00:51:09
>>45
つMFC
48:デフォルトの名無しさん
10/02/09 00:56:55
>>45
Windows API自体オブジェクト指向の固まりだと言うことに気付け。
ハンドル1つ1つがインスタンス。
それはともかく、ウィンドウプロシージャをクラスのメンバ関数にする方法は
いくつかあって誰か書いているはずだから、ググれば見つかる。
それでメインウィンドウという括りで1つのクラスが出来上がる。
49:デフォルトの名無しさん
10/02/09 00:59:20
ExtTextOutで文字を表示する時に等間隔にしてくれるような関数ありますか?
例えば日本語(全角)5文字表示する所に半角10文字のスペースを上書きしても
日本語の方が横長みたいで全て埋まらないのです
まとめると、全角5文字を半角10文字のスペースできっちり埋めれるようにするような関数はありますか?
50:デフォルトの名無しさん
10/02/09 01:06:27
等幅フォントは?
51:デフォルトの名無しさん
10/02/09 01:13:26
>>50
CreateFontのcharsetに等幅フォントやってみようと思います
ありがとうございました
52:デフォルトの名無しさん
10/02/09 02:40:04
>>45
WTLもあるよ
53:44
10/02/09 08:44:11
>>46
*WaitFor*Objectで待てるものに、ソケットが対象になっていませんでした。
ハンドルしか待てないからソケットは待てないと思っているのですが、
何か方法があるのでしょうか?
単純に待つハンドルの配列にソケットを突っ込めばいけてしまうとかでしょうか?
MFCのAPIを使えば、ソケットとハンドルが関連付けられてWaitFor*でも
待てるっぽいところまでは分かったのですが、今回はMFCが使えないので…。
54:デフォルトの名無しさん
10/02/09 09:06:56
>>43
毎回CreatePopupMenu呼んでるから
55:デフォルトの名無しさん
10/02/09 09:40:54
他のスレッドからの要求もソケットでやればいいな
56:デフォルトの名無しさん
10/02/09 09:42:19
>>44
WSAEventSelect
57:デフォルトの名無しさん
10/02/09 11:54:22
CSSパーザ探してます。
だいぶ昔に作り捨てたプログラムではスタイルシートをres:プロトコルでIEコン
ポーネントに流し込む手法を使いましたが、この方法は使えなくなってしまった
ようで、IHTMLStyleSheet::addRuleで流し込む必要ががあるようです。
元データ自体はCSSの文法で持ちたいので、C/C++から利用できるフリーのCSSパー
ザまたはIEコンポーネントの再利用法は有りませんか?
58:デフォルトの名無しさん
10/02/09 12:57:07
>>57です
正規表現だけでいけるような気がしてきたので質問取り下げます。
59:デフォルトの名無しさん
10/02/09 15:54:13
TEXTマクロって1バイト文字には使わなくていいんだよね?
60:デフォルトの名無しさん
10/02/09 16:09:28
_tcslen()に1バイト文字入れてみ
61:デフォルトの名無しさん
10/02/09 16:48:18
unicode/MBCSをコンパイルオプションで切り替える、ってことをしないならTEXT自体使わなくていい。
切り替えるからTEXT使う、なら基本は全部に使う。(処理の詳細的に使わない場合はあり得る)
切り替えないけどLよりTEXTが好き、でも別にいい。
だいぶスレ違いな気がする。
62:デフォルトの名無しさん
10/02/09 19:06:03
ファイルが関連付いているアプリケーションのアイコンを取得したいと思っています。
ExtractAssociatedIcon という API を使用すると 32 x 32 のアイコンしか取得することができません。
48 x 48 のアイコンを取得したいのですが、どのようにすれば良いでしょうか?
63:デフォルトの名無しさん
10/02/09 22:50:25
漏れの記憶では
xn_resourceeditor
64:デフォルトの名無しさん
10/02/09 23:02:59
>>56
ありがとです。
いろいろ検討してみます。
65:デフォルトの名無しさん
10/02/10 04:59:51
IMPLEMENT_DYNAMIC(CCustomFileDialog, CFileDialog)
CCustomFileDialog::CCustomFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
m_customDlgPtr = this->GetIFileDialogCustomize();
if(m_customDlgPtr != NULL){
m_customDlgPtr->AddComboBox(IDC_COMOBOBOX1);
m_customDlgPtr->AddControlItem(IDC_COMOBOBOX1,101,L"foo");
m_customDlgPtr->AddControlItem(IDC_COMOBOBOX1,102,L"bar");
}
}
BOOL CCustomFileDialog::OnFileNameOK()
{
DWORD Item;
m_customDlgPtr->GetSelectedControlItem(IDC_COMOBOBOX1,&Item);
return CFileDialog::OnFileNameOK();
}
コンボボックスから選択中のアイテムを取得できたんだが、そこから文字列を取得する方法がわからない。
くぐってもさっぱり出てこないので教えてほしい。
66:デフォルトの名無しさん
10/02/10 10:35:41
コア別のCPU使用率を取得する方法を教えてください。
67:デフォルトの名無しさん
10/02/10 10:39:47
パフォーマンスカウンタの値を見る
パフォーマンスカウンタデータヘルパーAPIっていうバカ長い名前のAPIがあるのでそれを使います
68:デフォルトの名無しさん
10/02/10 10:41:47
使いかたの説明は面倒なので↓でも見て自分で考えてください
URLリンク(nienie.com)
69:デフォルトの名無しさん
10/02/10 12:31:50
>>65
記憶によると、comboboxの各アイテムに文字列へポインタをユーザ定義のデータと
して埋め込んでおく。
70:デフォルトの名無しさん
10/02/10 12:33:51
コントロールの文字を小さくするには?
71:デフォルトの名無しさん
10/02/10 12:39:16
小さいフォントをセットすればいい
72:デフォルトの名無しさん
10/02/10 19:46:50
>>65
選択中のならGetWindowText()でできた希ガス
リストボックスのほうならCB_GETLBTEXTとか
73:デフォルトの名無しさん
10/02/10 22:11:54
>>69
>>72
とんくす。
74:デフォルトの名無しさん
10/02/11 10:01:07
AnimateWindowでウインドウのフェードアウトをする方法を検索すると、
AW_BLEND | AW_HIDE としているのが見つかるのですが
msdnには、AW_BLENDとAW_HIDEを併用してはいけないと書いてあります。
どうやればいいのか教えてください。
75:デフォルトの名無しさん
10/02/11 10:52:41
英語版のMSDNにはそんな事書いてないけど、日本語版が間違ってるんじゃ?
76:デフォルトの名無しさん
10/02/11 10:55:07
日本語版は間違いだらけ
戻り値 True/False 間違えてて正反対の意味なんてことも
77:デフォルトの名無しさん
10/02/11 11:04:31
>>74
URLリンク(msdn.microsoft.com)
78:デフォルトの名無しさん
10/02/11 11:16:43
msdnに間違いがあるとは考えませんでした
ありがとうございました
79:デフォルトの名無しさん
10/02/11 11:29:18
MSDNだけじゃなくて
●●入門とかの言語とかフレームワークとかの書籍も結構致命的な間違いがある
80:デフォルトの名無しさん
10/02/11 15:40:49
ツールバーとステータスバー
両方画面の下に共存させるにはどうしたらいい?
81:デフォルトの名無しさん
10/02/11 15:51:32
>>76
APIは一度公開したらインターフェースを返ることは
出来ないからな。使われない余計なパラメータがあ
ったりするのはそういう理由だし。
時には内容はほぼ同じだがインターフェースだけ
変えたAPIとかあるらしいし。古いAPIの更新を
やめて新しいAPIとして管理していくというやり方
を取らざるを得ないケースも多いだろうし
結局数は増える一方。墓地の埋葬者名簿みたいな
もので正確性を永続的に保証できるものじゃない
だろ
82:デフォルトの名無しさん
10/02/11 15:55:56
日本語ページが正しくないことの言い訳としては筋違い。
83:デフォルトの名無しさん
10/02/11 16:20:50
>>81
その言い訳は「かつては正しかった」という根拠を出してからにしろ。
84:デフォルトの名無しさん
10/02/11 17:03:31
>>81
>墓地の埋葬者名簿
いいたとえだなw確かにそうだ
関数の戻り値の一貫性とか破綻してるから困ったもんだな・・・
85:デフォルトの名無しさん
10/02/11 17:54:48
MSの技術者でさえこんな設計するんだから
一般人のコードが汚くても誰も責めることはできない
86:デフォルトの名無しさん
10/02/11 17:58:55
>>85こういう奴と一緒に仕事はしたくないな。
87:デフォルトの名無しさん
10/02/11 19:46:47
いっしょにコードを
書きませんか?
∧_∧ [windows.h]
(・ω・)丿 ッパ
. ノ/ /
ノ ̄ゝ
88:デフォルトの名無しさん
10/02/11 21:28:50
URLリンク(msdn.microsoft.com)
>Return Value
> Not used.
URLリンク(msdn.microsoft.com)
>戻り値.
>関数が成功すると、0 以外の値が返ります。
>関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
戻り値の説明が勝手に増えててしかも間違っている
翻訳ミスどころかゴミ埋め込んでどうするw
89:デフォルトの名無しさん
10/02/11 21:32:45
MSに言えよ
90:デフォルトの名無しさん
10/02/11 21:35:19
Win関連の訳本はASCII時代がよかったな、1000ページ本とかバンバンだしやがって・・・
91:デフォルトの名無しさん
10/02/11 21:36:52
肘で押えながら検証コード打ったりな
92:デフォルトの名無しさん
10/02/11 22:08:35
>>88
そもそも、何でNot usedなのにBOOL返すようになってるんだ?
93:デフォルトの名無しさん
10/02/11 22:11:51
>>92
元々 BOOL で使用されていたが
ドキュメントが糞で誰も使わなくなったから
Not used に書き直された
94:デフォルトの名無しさん
10/02/11 22:19:15
VC++でヘッダーコントロールを扱っていますが、
HDITEM hdi;
SendMessage(hwnd,HDM_GETITEM,0,(LPARAM)&hdi);
sprintf(str1,"%d",hdi.cxy)
でヘッダーアイテムの幅が取得できるはずなのですが、上手くいきません
参考書はVC++逆引き大辞典です
どうしたらいいでしょうか?
95:デフォルトの名無しさん
10/02/11 22:23:29
一応、FALSEを返す状況もあるんだけどな。
96:デフォルトの名無しさん
10/02/11 22:44:42
HttpQueryInfoでヘッダーの内容を全部文字で見たい場合に
HTTP_QUERY_RAW_HEADERS_CRLFを指定してるのですが
どうも中に書き込まれた情報は2バイトコードになっているようです
この辺の文字コードを切り替えるにはどうすればいいのでしょうか?
97:96
10/02/11 23:43:54
自己解決しました
参考にしたソースがwchar_tを前提にしてない古い物だったのが原因でした
98:デフォルトの名無しさん
10/02/12 01:06:37
Windows 7 Home Premium 64bit版のPCで
Win32 APIを使ってアプリケーション製作できる?
99:デフォルトの名無しさん
10/02/12 01:20:48
できる
100:デフォルトの名無しさん
10/02/12 01:26:03
>>99
サンクス!助かった
101:デフォルトの名無しさん
10/02/12 01:28:11
Wininet関連のプログラム書いてるんですが
勉強もかねてHTTPの要求ヘッダの中身がどうなってるかみたいのですが
どうやれば見れますかね?
102:デフォルトの名無しさん
10/02/12 01:31:27
このスレで聞くってことは、パケットを見るプログラムを作りたいって話か?
103:デフォルトの名無しさん
10/02/12 01:33:38
>>102
いいえ
そういうのじゃなくて2chの専ブラの通信部分ですね
URLリンク(www.monazilla.org)
デバックもかねて上記のページに書かれてるようなヘッダーになってるかだけみれればいいんですが
104:デフォルトの名無しさん
10/02/12 01:35:08
HttpQueryInfoで受信情報のヘッダーは見れるので
送信側も何か方法があるのかなあと思いまして
105:デフォルトの名無しさん
10/02/12 02:00:54
自分で鯖を立てて送られてくる情報をみるかWireSharkのようなモニターソフトで見るのが早いですかね・・・?
106:デフォルトの名無しさん
10/02/12 02:02:20
実際のデータがどうなってるかって事だろ?
パケットを見るプログラムじゃないか
107:デフォルトの名無しさん
10/02/12 02:06:11
>>106
いや・・・そういう風に言われても勉強初めてすぐなのでよくわからないです
InternetOpen
InternetConnect
HttpOpenRequest
HttpSendRequest ←この段階で送るであろうデータさえ見れればよかったのですが
108:デフォルトの名無しさん
10/02/12 02:14:30
しつこい!
109:デフォルトの名無しさん
10/02/12 02:14:57
>>105
proxy + log
110:デフォルトの名無しさん
10/02/12 02:17:25
チェックの入っているラジオボタンのウィンドウハンドルを得るにはどうすればよいのでしょうか。
SendMessageで総当たりをすればどれにチェックが入っているのか分かりますがもっと良い方法はありませんか?
ラジオボタンがチェックされた時に生じる処理の中でそのハンドルを記憶させるようにしてみたのですが、
グループが複数あった場合にそれがどのグループのボタンなのか判断させる方法がわかりませんでした。
Borland C++ 5.5.1 for Win32を使っています。
111:110
10/02/12 02:20:56
すみません何か勘違いしてました。
自己解決しました。
112:デフォルトの名無しさん
10/02/12 04:09:59
見た目を分かりやすくしようとラジオボタンをグループボックスで囲んだところ
ラジオボタンをクリックしたときにWM_COMMANDが発生しなくなってしまいました。
どうすれば再びそれが発生するようになりますか?
113:デフォルトの名無しさん
10/02/12 06:02:24
すみません自分なりに色々調べてみたんですが解決しなかったので質問します。
ツリービューコントロールに関してなんですが、.NET には TreeNode.Level というノードの深さを取得するプロパティがあるのですが、
これに相当するようなノードの深さを取得できるような関数が標準APIにもあるのでしょうか?
それとも自分で組まないといけないのでしょうか?
URLリンク(msdn.microsoft.com)(VS.80).aspx
114:デフォルトの名無しさん
10/02/12 06:06:17
C++ってあるけど上の方に メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。
ってあるからC++/CLIの話かね・・・
というかWTLやMFCって.netと比べるとかなり見劣りするからなあ
.net環境で作ってていきなりネイティブC++とかいくと部品の陳腐さに泣きそうになる
115:113
10/02/12 06:27:51
>>114
すみません説明不足でした。PlatformSDKのことです。
第115章 ツリービューにメニューをつける
URLリンク(www.kumei.ne.jp)
↑このサイトを参考に組んでいたんですが、ツリービューの項目の深さを取得しようと思い、
調べていたところにちょうどそのページを見つけたので質問しました。
116:デフォルトの名無しさん
10/02/12 08:02:58
直接は無さそうね
作るにはTVM_GETNEXTITEMかな
117:デフォルトの名無しさん
10/02/12 09:40:02
>>114
修羅の国では外部コンポーネント、サービスの利用方法や足りない部品は全部自力調達ですよ( ^ω^)
先輩・・・.NETしたいです
118:デフォルトの名無しさん
10/02/12 09:43:45
いいや駄目だね
お前は一生修羅の国から出さん
119:デフォルトの名無しさん
10/02/12 09:44:58
でもどっとねっつはリバースしやすいからなあ
120:デフォルトの名無しさん
10/02/12 09:53:39
C++のお陰でソフトウェアの進歩は10年遅れたわな
121:デフォルトの名無しさん
10/02/12 10:06:37
>>120
いや C++ が糞なおかげで
Rupy や Python が生まれたと思う
C++ の出来が良かったらきっと
そいつらは生まれていなかった
122:デフォルトの名無しさん
10/02/12 10:09:51
画面の解像度を取得する方法を教えてくれ
123:デフォルトの名無しさん
10/02/12 10:11:20
げっとしすてむめとりくす
124:デフォルトの名無しさん
10/02/12 10:11:53
URLリンク(www.google.com)画面の解像度
125:デフォルトの名無しさん
10/02/12 10:13:18
スレリンク(tech板)
126:デフォルトの名無しさん
10/02/12 10:15:47
>>125
今時のライブラリでデフォルトUTFじゃないとか死ね
127:112
10/02/12 14:29:15
>>112ですがどなたか教えて頂けないでしょうか?
ソース等アップロードしました。よろしくお願いします。
URLリンク(www1.axfc.net)
128:デフォルトの名無しさん
10/02/12 14:54:07
悪阻
129:デフォルトの名無しさん
10/02/12 14:56:22
>>127
了解
130:デフォルトの名無しさん
10/02/12 19:15:49
DirectWriteなんですけど、ここのサンプルをコンパイルして実行すると、
URLリンク(msdn.microsoft.com)
Ex1とEx2は開いたウィンドウを移動するかアイコンにして戻すかしないと文字が出ないし、
Ex3は黒ベタで何も出ないです。環境はWin7 x64なんですが、ちゃんと表示されてる人います?
131:113
10/02/12 19:53:16
>>116
>>117
やはり自力で組まないといけないんですね
ぬこにつられて修羅の国に迷い込んでしまったようです
ありがとうございました
132:デフォルトの名無しさん
10/02/12 20:04:07
.Netだとオブジェクトを動的に作る際名前に階層を盛り込んだけどなあ
とC++のTreeView調べてたらアイテムの構造体ってろくな情報埋め込めないなw
typedef struct _TV_INSERTSTRUCT {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
TV_ITEM item;
} TV_INSERTSTRUCT, FAR* LPTV_INSERTSTRUCT;
自分で同じような複製ツリーを作ってそっちで管理してみたら?
133:デフォルトの名無しさん
10/02/12 20:08:55
typedef struct _TV_ITEM { tvi
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TV_ITEM, FAR *LPTV_ITEM;
こっちもあるけどノード登録の際の連絡用とか検索ででてくるなあ
134:デフォルトの名無しさん
10/02/12 20:34:17
あとはWTL使うくらい?
URLリンク(home.att.ne.jp)
URLリンク(home.att.ne.jp)
135:デフォルトの名無しさん
10/02/12 20:41:52
>>132
おいこらTVITEMの中身見ろw
大体win32がヘボかったら.netもヘボくなるわけで・・・どっちも同じコモンコントロールなわけで
136:113
10/02/12 21:10:43
>>132
>>133
>>134
>>135
親:0 子:1 孫:2 という深度レベルを項目ごとのTVITEMのlParamに格納すればできそうですね!
本当にありがとうございました!
137:デフォルトの名無しさん
10/02/13 21:17:25
タブコントロールは CreateWindowEX で作成するとのことですが、
メイン・ウィンドウのメニューから[設定]なとの項目をクリックして、
タブコントロールのウィンドウをポップ・アップさせる場合の手順は、
1)CreateWindowEX でタブ・コントロールの親ウィンドウ (hwndParent) を作成.
2)hwndParent の子ウィンドウとして CreateWindowEX でタブ・コントロールを作成.
するという手順になると思うのですが、ここで、タブ・コントロールを操作する
メッセージなどを処理するプロシージャ-が必要になります。ところが、
CreateWindowEX にはご存知のとおりプロシージャ-関数を受け取る引数はありません、、、
ということは、hwndParent にメッセージ・ループを作らざろうえず、メイン・ウィンドウの
メッセージ・ループと”競合?”してしまうので、
A)hwndParent はスレッドを作って、そこでメッセージ・ループを回す???
という、プログラミング・スタイルになると思うのですが、違いますが???
当方、初心者でして、ズバリご指摘おねがいします。
タブ・コントロールに限らず、ダイアログ・テンプレートを使わずに
メイン・ウィンドウからコントロールの Owned ポップアップ・ウィンドウを開く場合
の手順は、どうなるのでしょう???
138:デフォルトの名無しさん
10/02/13 21:42:53
設定ならプロパティシート使った方が簡単だけど、自分で作る場合の話なら
タブコントロールからのメッセージはその親ウィンドウにWM_NOTIFYとして飛んでくるので
すべて親ウィンドウのプロシージャで処理できる
それと、ウィンドウプロシージャはCreateWindowExでなくウィンドウクラスで設定してそれをCreate~に渡してる
タブコントロールのウィンドウプロシージャはWindowsが持ってるのでそっちに全部お任せ
これはタブコントロールに限らずどんなコントロールでも同じなので
プログラムを作る側は親ウィンドウのプロシージャのことだけ考えればいい
139:デフォルトの名無しさん
10/02/13 22:05:23
リストボックスをウィンドウのサイズが変更されても常に中央に配置されるようにしたいのですが
どうしたらいいのですか?
140:デフォルトの名無しさん
10/02/13 22:09:15
ありがとうございます。
『タブコントロールからのメッセージはその親ウィンドウにWM_NOTIFYとして飛んでくる』
とのことですが、タブコントロール単独でポップ・アップ・ウィンドウをつくれるのでしょうか?
タブコントロール単独でポップ・アップさせようとすると移動もサイズ変更も閉じることもできません、、、
タブコントロールを子ウィンドウとしてポップ・アップさせると、メッセージはタブコントロールの
親に行くのですが、その「親」≠「メインウィンドウ」なので、タブコントロールの「親」に、メッセージを
受け取るプロシージャ-が必要になるのではないですか???
自分はなにか、根本的なところで勘違いをしていると感じるのですが、それが「何か」がわからない
ところが、トホホな現状です。 (T皿T)
141:デフォルトの名無しさん
10/02/13 22:10:00
ウィンドウのサイズを元に座標を算出してMoveWindowすればよかろうに
142:デフォルトの名無しさん
10/02/13 22:14:27
>>140
親ウィンドウはあなたが>>137で言っていたhwndParentだよ
メインウィンドウを親としてhwndParentを作ってタブをhwndParentの子ウィンドウにする
hwndParentを自分でウィンドウクラスを登録するなりして作成すれば、そのウィンドウプロシージャは自分で管理できる
143:デフォルトの名無しさん
10/02/13 22:17:57
つーか、どこのウィンドウアプリでタブがポップアップするんだよ?
そんなのありえないことくらい、普通わかるだろ?
144:デフォルトの名無しさん
10/02/13 23:36:27
……、すいませんでした。
自分が作ろうとしていたのは、『プロパティシート』であって、『タブコントロール』では
ありませんでした、、、、、、 orz。
どうもおかしい、なにか変だと思っていましたが、『プロパティシート』を『タブコントロール』と
”根本的に勘違い”してました。お騒がせしました。
145:デフォルトの名無しさん
10/02/14 04:36:24
レジストリの値が変更されたことを知るAPIは有りませんか?
146:デフォルトの名無しさん
10/02/14 04:37:26
APIHook
147:デフォルトの名無しさん
10/02/14 04:48:02
URLリンク(ruffnex.oc.to)
148:デフォルトの名無しさん
10/02/14 11:34:44
RegNotifyChangeKeyValue
149:デフォルトの名無しさん
10/02/14 12:42:06
そのてのapi hookってx64でも使えるっけ?
150:デフォルトの名無しさん
10/02/14 16:52:46
つかえるみたいよ
151:デフォルトの名無しさん
10/02/14 21:23:59
マウスカーソルを砂時計にしたいのだけど
HCURSOR cur = SetCursor(LoadCursor(NULL,IDC_WAIT));
とやってもカーソルがかわらないです。
152:デフォルトの名無しさん
10/02/14 22:36:15
WM_SETCURSOR
153:デフォルトの名無しさん
10/02/14 23:34:42
HCURSOR cur = SetCursor(LoadCursor(NULL,IDC_WAIT));
したあとはWM_SETCURSORでreturn 0;するようにしたけど
状況かわらずでした。
154:デフォルトの名無しさん
10/02/14 23:38:35
>カーソルがウィンドウ上にある間ずっと表示される
>ようにカーソルを設定する場合には、指定されたウ
>ィンドウのウィンドウクラスで設定されるクラスカ
>ーソルが 0 (NULL) になるようにします。クラス
>カーソルが 0 (NULL) でない場合、システムはカー
>ソルが動かされるたびにクラスカーソルに戻します。
URLリンク(yokohama.cool.ne.jp)
155:デフォルトの名無しさん
10/02/15 00:11:43
>>154
デフォルトで表示するカーソルはなしにしておいて
WM_SETCURSORの都度表示するカーソルを任意に指定するってことね
脳みそ足りなくて理解に時間がかかりますた
156:デフォルトの名無しさん
10/02/15 01:08:34
脳みそとクソ知識が足り過ぎていて理解の邪魔をしてるんだろな
157:デフォルトの名無しさん
10/02/15 19:59:11
CPUのインストラクションキャッシュをクリアするような
APIがあったと思うんですが名前を忘れてしまいました。
ご存じの方いらっしゃいませんか?
やりたいことは実行時にコードを書換えながら実行するというようなことです。
158:デフォルトの名無しさん
10/02/15 20:04:45
FlushInstructionCache
159:デフォルトの名無しさん
10/02/15 20:10:03
プロセスハンドルからメモリに展開してるプロセスのサイズとかってどうやって取得していますか?
160:デフォルトの名無しさん
10/02/15 20:10:53
>>158
そのまますぎて吹いた orz
ありがとうございます
161:デフォルトの名無しさん
10/02/15 20:17:10
>>159
ヒープのスナップショット取って合算するくらいしか思いつかない
162:159
10/02/15 20:33:49
>>161
別なアプローチがあるかと思って聞いたのですが、
やはりそれしかないですか
ありがとうございました。
163:デフォルトの名無しさん
10/02/15 23:11:06
エディッタなどの編集画面は、RichEditコントロールとかが使われているのでしょうか?
それともウィンドウに直接”描画?”してるのでしょうか??
後者の場合、マウスでハイライト選択するのは、どうやって実現しているのでしょうか。
マウスの押し下げメッセージを捕らえるとして、どんな関数を使うのでしょう?
164:デフォルトの名無しさん
10/02/15 23:23:14
SPY++やフックでぐぐれ
165:デフォルトの名無しさん
10/02/15 23:56:38
CreateProcessで生成したときのLPPROCESS_INFORMATION構造体のプロセスIDで
CreateToolhelp32SnapshotのTH32CS_SNAPMODULEを指定して実行したら
エラーになるんですが、何か心あたりがある方はいますか?
166:デフォルトの名無しさん
10/02/16 00:02:54
>>163
HTMLでクリッカブルマップ辺りを使ったページを
作ってみると「霊感(インスピレーション)」を得れるかも
167:デフォルトの名無しさん
10/02/16 00:03:56
他人に聞く前にOSに聞け。
168:デフォルトの名無しさん
10/02/16 11:12:25
>>163
マウスのY座標からそこが何行目かを計算する (例えばフォントの高さで割るとか)
マウスのX座標と行数からそこが何文字目かを計算する (例えば行中の文字幅を1文字ずつ数えるとか)
求めた位置に基づいて選択範囲を保持する変数を変更し、その部分を再描画する
各文字を描画するとき選択範囲内だったらその文字は背景色付きで描き、選択範囲外だったら普通に描く
およそこんな感じ
169:163
10/02/16 15:07:49
ありがとうございます。
…、すごい”低レベル”なことをするんですね。C言語ではじめて文字列操作を
やろうとした頃を思い出しました。
170:デフォルトの名無しさん
10/02/16 15:12:54
低レベルも何も、隠匿されてるだけであらゆる環境の同じ目的の関数は、
全て同じような手順で実現されてるんじゃないの?
171:デフォルトの名無しさん
10/02/16 15:26:02
Win32アプリケーションでAllocConsoleを使わずにコンソール画面を表示する方法はありますか?
172:デフォルトの名無しさん
10/02/16 15:58:32
知らないならレスしないで下さい。ウザイだけです。。。
173:デフォルトの名無しさん
10/02/16 16:07:04
>>172
そういう無意味に煽るだけのレスは、せめてどのレスに向けたものか示しておけよ。
174:デフォルトの名無しさん
10/02/16 16:13:23
>>173
知らないならレスしないで下さい。ウザイだけです。。。
175:デフォルトの名無しさん
10/02/16 16:19:25
>>171
コンソールアプリを起動してAttachConsole
176:デフォルトの名無しさん
10/02/16 23:06:55
>>175
ありがとうございました。
177:デフォルトの名無しさん
10/02/17 15:33:54
editウィンドウをただの黒い線の枠じゃなく
立体的なデザインにするには?
178:デフォルトの名無しさん
10/02/17 15:56:11
テキストエディタ作ると結構奥が深いんぜ
最大の敵は垂直スクロールバーとウィンドウ幅に合わせた行折り返し
179:デフォルトの名無しさん
10/02/17 17:20:51
えっ
180:デフォルトの名無しさん
10/02/17 18:40:12
ええっ
181:デフォルトの名無しさん
10/02/17 20:20:25
・・・そんなに難しいか?
182:デフォルトの名無しさん
10/02/17 20:21:48
テキスト編集は編集中のデータ管理だろう
まあListと同じで部品化すれば問題ないか
183:デフォルトの名無しさん
10/02/17 22:55:56
メモ帳みたいにテキストボックス貼り付けるだけなら簡単だが、
秀丸みたいに内部データ管理から画面描画まで全部作って実用的な速度で動かすのはかなり大変
まあ最近はCPUが速いしメモリも大量に積んでるから、そういう環境限定なら難易度は下がるけど
184:デフォルトの名無しさん
10/02/17 23:30:23
逆。難易度は逆に上がる。手に馴染むのが決め手なコントロール系
の製品開発は、遅いプロセッサで負荷をかけた状態でテストされ
プロトタイプが出来てからも何回も書き直される。
速いマシンで製品レベルのものが作れるのは余程の経験者か天才。
185:デフォルトの名無しさん
10/02/17 23:35:36
お前らが作ったことが無いのは分かった
186:デフォルトの名無しさん
10/02/17 23:57:10
俺ちょうど今作っててやとスクロールできるようになったぐらいなんだけど
>>178の言ってることはわかるような気がするよ、場合分け増えるし
たとえば一行が長くて折り返しがある行の時に右端にカーソルがある時
折り返す前の行の右端と折り返した後の行の左端は(ドキュメント的には)同じ位置
しかし画面では別の位置なのでカーソルを移動させたときに
前行の一文字手前で次の行にいくか、
次行の先頭行の最初の位置にカーソルがいかないようにするか
改行で表示行が変わってるときとでは動作が異なるから場合分けが増える
この辺ソフトによって動作が違ってて、GreenPadは後者、Terapadは前者だった
187:デフォルトの名無しさん
10/02/18 07:41:17
両方に表示しちゃえばいいじゃない
188:デフォルトの名無しさん
10/02/18 08:43:33
貴様らスレ違い
189:デフォルトの名無しさん
10/02/18 17:22:09
スレ違いを承知で質問です。
(A) と (B) で見る AppriData構造体のデータは、整合性が取れてると思うのですが違いますか??
***** Main.c ****
struct AppriData;
main() {
funcA();
}
*****************
**** funcA.c ****
extern struct AppriData;
funcA(VOID) {
AppriDataを処理; (A)
……
funcB();
}
*****************
**** funcB.c ****
extern struct AppriData;
funcB(VOID) {
……
AppriDataを処理; (B)
}
*****************
190:デフォルトの名無しさん
10/02/18 17:43:10
>>189
スレ違いと分かってて質問するなよ
191:デフォルトの名無しさん
10/02/18 18:35:31
すいません、、、他所のスレがあまりに下らないので、みなさんにお願いします。
192:デフォルトの名無しさん
10/02/18 18:45:01
m9(^Д^)プギャーーーッ
193:デフォルトの名無しさん
10/02/18 18:57:09
appliだろjk
194:デフォルトの名無しさん
10/02/18 20:39:03
まずは変数宣言しろよ
195:デフォルトの名無しさん
10/02/18 21:38:49
>>189
>整合性が取れてる
の意味がわかりません
196:デフォルトの名無しさん
10/02/18 22:09:57
構造体はヘッダに書いて include 汁
197:デフォルトの名無しさん
10/02/19 01:47:47
もうだめだこのスレ
198:デフォルトの名無しさん
10/02/19 08:55:47
まじでか
199:デフォルトの名無しさん
10/02/19 09:50:19
スレの存在自体無理がある
まともな質問の回答はMSDNに書いてある
MSDNに回答が無い質問は環境依存
200:デフォルトの名無しさん
10/02/19 10:02:06
まじでか
201:デフォルトの名無しさん
10/02/19 11:28:26
>>199
それマジで言ったん?ソースあんならすぐ出せ
マジなら2ちゃんねら総力を上げて潰すが
202:デフォルトの名無しさん
10/02/19 11:30:08
MSDNを潰すのは勘弁してくれw
203:デフォルトの名無しさん
10/02/19 11:31:54
総力ってお前誰だよ
今ふと思ったが
妙に「ねらー」とか「2ちゃんねら」とか言うの多いな
なんつうかν速慣れしてなそうな感じの
204:デフォルトの名無しさん
10/02/19 11:36:40
一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?
205:デフォルトの名無しさん
10/02/19 11:44:39
しらんかった。
206:デフォルトの名無しさん
10/02/19 11:53:21
一応突っ込んどくがそれ最近どころか数年前に流行ったコピペなんだぜ・・・釣りだったかな?
207:デフォルトの名無しさん
10/02/19 12:10:12
>>201,>>203-204の流れまでがコピペなんだぜ・・・釣りだったかな?
208:デフォルトの名無しさん
10/02/19 12:11:20
最初に言った人はマジなんだろうな
209:デフォルトの名無しさん
10/02/19 13:15:18
はじめに見たのは1年半くらい前だった希ガス
210:デフォルトの名無しさん
10/02/19 17:27:27
一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?
211:デフォルトの名無しさん
10/02/19 18:42:30
「総力を上げて潰す」は2007年7月頃に流行
212:デフォルトの名無しさん
10/02/19 18:49:20
ウィンドウサイズの変更時などノ時
ステータスバーに表示された文字が再描画されないんですが
どうしたらいいの?
213:デフォルトの名無しさん
10/02/19 21:44:36
む
214:デフォルトの名無しさん
10/02/19 21:45:57
おっ、書けた。
それでは質問させてください。
Windows Vista以降で、タイトルバーに3つのシステムボタンに加えて独自のボタンを自分のアプリのウィンドウに表示したいのですが、
どういう風に書けばいいでしょうか?
C#で書いてますが、C/C++の書き方で構いません。
215:デフォルトの名無しさん
10/02/19 22:14:50
WM_NCPAINTで描く。
216:デフォルトの名無しさん
10/02/19 22:18:40
>>215
それは最初に試しましたが、
Aeroが有効時にはDefWindowProcの呼び出しで完全に描画されてしまい、
その後から書いても書き込んだ内容が見えません。
217:デフォルトの名無しさん
10/02/19 22:27:55
keybd_eventでalt+numpadの文字入力はできないの?
218:デフォルトの名無しさん
10/02/19 22:57:08
>>217
Altキーはメニューが受け取るようにWindows自体が作られているから、
そういうショートカットキーは避けた方がいいんじゃね?
219:デフォルトの名無しさん
10/02/19 22:59:19
>>214
BITMAP作ってリソース読み込めばいいんじゃない?
220:デフォルトの名無しさん
10/02/19 23:01:53
>>219
おっしゃることがよく分かりません。
タイトルバーをなるべくOS標準のまま、必要最小限のカスタマイズをしたいのですが。
描画さえちゃんとできれば、クリックの受け取りはさほど難しくなさそうです。
221:デフォルトの名無しさん
10/02/19 23:30:54
あーすまん
ツールバーと勘違いしてた
222:デフォルトの名無しさん
10/02/20 00:18:36
>>216
URLリンク(msdn.microsoft.com)(VS.85).aspx
これの「Drawing in the Extended Frame Window」のところ。
DWM (Aero)環境下で、ウィンドウ全体をクライアント領域にするという方法がある。
これで、ウィンドウ全体を好きに描画できるようになる。
引き替えに、WM_NCHITTESTを自分で処理しなければいけないのが面倒。
その記事にもあるように、MS Office 2007も
これを使ってタイトルバー部分に食い込んで描画している。
223:デフォルトの名無しさん
10/02/20 00:47:18
GDI製のボーダーを持たないWindow(ガクブチ)を作って
独自のボーダー(ボタン付き)にする。
クライアント領域は下のウィンドウをそのまま
書く。(Timerで定期的に下のウィンドウの更新を
チェック。自分のウィンドウに来たメッセージは
下のWindowに当然SEND)
この方法ってWindowが動いた時とかサイズが変わった
時、ちょっとみっともないこともなくもないけど
手軽でイくね?(もちょっとイイ小技もあるらしいが)
224:デフォルトの名無しさん
10/02/20 02:25:01
>>222
おおっ! これぞドンピシャ!
しかし紹介いただいたサンプルを動かしてみてるところですが、
挙動が摩訶不思議でまだ大意がつかめてません。
(特にウィンドウメニューと組み合わせると……)
コードだけじゃなくて記事本文も読まないといけないみたい。
でもこの延長線上でなんとかなりそうです。フレームの挙動がちゃんと変わってるし。
>>223
そういう方法もありだとは思います。GOMプレーヤーとかスキンを活用する系統では
そちらの方が逆にスマートかもしれないし。
でも面倒くさそう……。
今予定してるのはボタンを1個追加するだけなので。
225:デフォルトの名無しさん
10/02/20 12:28:03
全角文字の1バイト目かどうかを判断するAPIを教えてください
226:デフォルトの名無しさん
10/02/20 12:30:40
文字コードは?
227:デフォルトの名無しさん
10/02/20 13:01:17
CharNext(p) - p >= 2
228:デフォルトの名無しさん
10/02/20 13:09:47
しふとJISですぅ
229:デフォルトの名無しさん
10/02/20 13:16:57
S-JISなんてAPIいらねーだろ
半角はアスキーコード互換、全角用もアスキーコードの空き部分の
コードを利用してるだけなんだし
230:デフォルトの名無しさん
10/02/20 13:38:43
IsDBCSLeadByte
IsDBCSLeadByteEx
231:デフォルトの名無しさん
10/02/20 13:41:37
>>230
ありがとうございます。>>229のクズとは大違いで助かりました。
232:デフォルトの名無しさん
10/02/20 13:57:30
複素数を表現するクラスMultiElemNumを作りました。
APIでは、どうするのです。か
233:デフォルトの名無しさん
10/02/20 14:18:50
何をどう答えればよいのです。か
234:デフォルトの名無しさん
10/02/20 15:39:15
単語「API」の用例と
あとは・・正しい日本語の使い方日本語をお願いします。
235:デフォルトの名無しさん
10/02/20 16:58:41
>>232
MultiElemNumが英語になっていない。Complexが正しい。
236:デフォルトの名無しさん
10/02/20 18:17:54
printfだって英語になってないがな
もしかして「適切な訳語」のことを言いたかったのか
237:デフォルトの名無しさん
10/02/20 18:29:02
>>225
マルチすんな
238:デフォルトの名無しさん
10/02/20 18:29:17
わかってるんなら、わざわざ聞くなよ。
239:デフォルトの名無しさん
10/02/20 18:36:08
開き直ってその態度。笑っちゃうね。笑わないけど。
240:デフォルトの名無しさん
10/02/20 18:37:46
>>225>>232は同じ人間のような気がする
241:デフォルトの名無しさん
10/02/20 18:38:10
何言ってんだ。
242:デフォルトの名無しさん
10/02/20 18:41:43
>>241
243:デフォルトの名無しさん
10/02/20 18:44:32
条件反射的に一言多いというかなんとうか
そういう人間がそうそう近い時間に複数来るってのは無いしな
244:デフォルトの名無しさん
10/02/20 18:47:08
>>242
241は239当てな。
245:デフォルトの名無しさん
10/02/20 18:48:50
何言ってんの
246:デフォルトの名無しさん
10/02/20 18:51:26
条件反射的に一言多いというかなんというか
そういう人間がそうそう近い時に複数来るってのは無いしな
247:デフォルトの名無しさん
10/02/20 18:52:09
>>245
いや、「開き直って」とか言われたから、何考えてるんだろうと思って、241のレスしただけのこと。
248:デフォルトの名無しさん
10/02/20 18:53:22
ではやはり上げておくべきですね。
249:デフォルトの名無しさん
10/02/20 18:56:45
いいからAPI出せや
250:デフォルトの名無しさん
10/02/20 19:06:38
APIを出す話だったのか
251:デフォルトの名無しさん
10/02/20 19:11:07
わろた >>249は天然
252:デフォルトの名無しさん
10/02/20 19:19:06
ふぁびょおおおおってんなよ
253:デフォルトの名無しさん
10/02/20 19:21:56
>>252
API
254:デフォルトの名無しさん
10/02/20 19:49:39
>>253
API
255:デフォルトの名無しさん
10/02/20 20:02:23
>>254
あぴ
256:デフォルトの名無しさん
10/02/20 20:16:19
>>255
AIP
257:デフォルトの名無しさん
10/02/20 20:41:53
A・P・I!A・P・I!
258:デフォルトの名無しさん
10/02/20 20:42:36
次世代型匂い付きAPI
259:デフォルトの名無しさん
10/02/20 20:43:14
>>249
そういうのはID出る板でスレ立ててやれ
ここじゃ一生apiなんて出ないぞ
260:デフォルトの名無しさん
10/02/20 22:01:04
↑ちなみにこれは「IDに~~を出す」系のスレに掛けている
261:デフォルトの名無しさん
10/02/21 05:28:41
質問です。
LPCWSTR型の文字列を返却する関数を、
TextOut関数で画面に表示すると、文字化けしてしまいます。
問題となっている関数の中身をコピーして、
TextOut関数の存在する関数の中にペーストし、
返却する変数をそのまま表示するようにした場合は、正しく表示されます。
色々試行錯誤しましたが、見当が付かないので教えていただけるとありがたいです。
---参考 問題の関数---
LPCWSTR get_chart_size(void){
char dataBuff[] = "alphabet0123カタカナひらがな漢字";
wchar_t pwsz[sizeof(dataBuff)*2];
std::locale::global(std::locale("japanese"));
MultiByteToWideChar(CP_ACP, 0, dataBuff, strlen(dataBuff)+1, pwsz, sizeof(pwsz));
LPCWSTR Data = pwsz;
return Data;
}
262:デフォルトの名無しさん
10/02/21 05:33:41
関数出たら解放されてしまってるんだろう
malloc 汁
263:デフォルトの名無しさん
10/02/21 05:34:14
char dataBuff
これはマルチバイト
wchar_t pwsz
これはワイド文字
文字コードが違う
MultiByteToWideChar
これはマルチバイトからワイド文字に変換する関数?
264:デフォルトの名無しさん
10/02/21 05:36:00
>>261
pwszは非静的な局所変数なので、returnした時点で無効になる。
265:デフォルトの名無しさん
10/02/21 05:37:42
呼ぶ方
wchar_t pwsz[sizeof(dataBuff)*2];
pwsz = get_chart_size(pwsz, sizeof(pwsz));
TextOut(hogehoge);
呼ばれる方
LPCWSTR get_chart_size(wchar_t *pwsz, size_t size){
char dataBuff[] = "alphabet0123カタカナひらがな漢字";
std::locale::global(std::locale("japanese"));
MultiByteToWideChar(CP_ACP, 0, dataBuff, strlen(dataBuff)+1, pwsz, size);
return (LPCWSTR)pwsz;
}
266:デフォルトの名無しさん
10/02/21 05:57:19
というか、char、wchar、TCHARはちゃんと区別しようね。みんな。
267:デフォルトの名無しさん
10/02/21 08:23:56
/|
|/__
ヽ| l l│<ハーイ
┷┷┷
268:デフォルトの名無しさん
10/02/21 09:05:42
間違えた、wchar_tだった
269:デフォルトの名無しさん
10/02/21 12:42:28
>>261
スレ違い。C言語質問スレに池
270:デフォルトの名無しさん
10/02/21 13:01:11
以下のような例で、vdCreateToolBar(VOID) と hdCreateToolBar(HWND hwndParent) とで
関数の中身は全く同一で、親ウィンドウのハンドルにグローバル変数を使うのと、関数の
引数を使うのとでは、作成されるツールバーの表示が (1) と (2) で異なるのですが、
なぜでしょうか???
HWND g_hMain;
WinMain() {
HWND hMain;
hMain = CreateWindowEX();
g_hMain = hMain;
vdCreateToolBar();-------------------(1)
hdCreateToolBar(hMain);--------------(2)
…
}
vdCreateToolBar(VOID) {
g_hMain; グローバル変数でツールバー作成 (1)
}
hdCreateToolBar(HWND hwndParent) {
hwndParent; 引数を使ってツールバー作成 (2)
}
271:デフォルトの名無しさん
10/02/21 13:25:42
ちなみに、vdCreateToolBar(VOID) と hdCreateToolBar(HWND hwndParent) は,
WinMain() とは別の C ファイルです。
vdCreateToolBar(VOID) の g_hMain は extern で取得してます。
272:デフォルトの名無しさん
10/02/21 13:26:51
vdCreateToolBarとhdCreateToolBarの内容が違うから
273:デフォルトの名無しさん
10/02/21 13:30:43
デバッガで動きを比べてみな。
274:デフォルトの名無しさん
10/02/21 14:30:18
キャストしたらどうなりますか?APIを教えてくだしあい
275:デフォルトの名無しさん
10/02/21 15:30:42
extern "C" {} の内か外かで、結果が違ってくるとかありますか?
276:デフォルトの名無しさん
10/02/21 15:33:16
呼び出し規約の不整合があると、どうなるんでしょう??
277:デフォルトの名無しさん
10/02/21 15:57:28
>>274
キャスト用のAPIなんてない
>>275
ある可能性は否定できないんじゃない?
>>276
最悪の場合、期待どおりの動作にならない
278:デフォルトの名無しさん
10/02/21 16:01:18
なんでキャストがでてくるんだ
キャストなんて
「俺(プログラム書いてる人)は型が違うのわかってて書いてる
からお前(コンパイラ)は気にしなくていいよ。」と教えてるだけなのに
(厳密にはいろいろあるようだが
279:デフォルトの名無しさん
10/02/21 16:46:44
たまに>>278みたいな対して上手くもない例え話を載せてる入門書ってあるよね!(* ゜∀゜)ムッハー!!
280:デフォルトの名無しさん
10/02/21 16:51:06
>>279
事実そうじゃん
関数の引数でconst char* hogeとかやるけどあれだって
書き換えするようなコードを書かないようにする安全策なだけだし
アセンブラレベルで考えればconst とか知ったことじゃねえって
感じだしなあ
281:デフォルトの名無しさん
10/02/21 16:55:52
「俺」とか「お前」にご丁寧に括弧書きで想定する対象を書いてるのがダサいねぇ
人間が読むのに、わざわざキャストしてどうすんの
282:デフォルトの名無しさん
10/02/21 17:27:59
キャストするAPIがないとか(笑)
283:デフォルトの名無しさん
10/02/21 17:29:25
>>282
あるなら紹介してあげなよ。
284:デフォルトの名無しさん
10/02/21 17:40:11
>>281
俺は逆で型変換でキャストなしソースのほうが読みにくくて初心者乙だなぁ
コンパイラの警告レベル上げたとたん警告が何百も出てくるとかだせぇってなる
285:デフォルトの名無しさん
10/02/21 17:44:22
何言ってんだお前
286:270
10/02/21 17:44:25
270 ですが、xxCreateToolBar() で関数が引数をとる形にすると、グローバル変数でも
引数渡しでも、ツールバーの動作が”不安定?”になります。
原因のヒントだけでも、ないでしょうか…、、、、
287:デフォルトの名無しさん
10/02/21 17:45:36
知るかハゲ
ソースもなんも出さずに。
288:デフォルトの名無しさん
10/02/21 17:48:23
すべてAPIが悪い
289:デフォルトの名無しさん
10/02/21 17:56:09
APIが何の略かも知らないくせに
290:デフォルトの名無しさん
10/02/21 17:57:15
あぴのせいにするな!大抵手落ちは自分にあるんだ!
291:デフォルトの名無しさん
10/02/21 18:00:02
そうですねWindowsに欠陥があるわけないですね^^
292:デフォルトの名無しさん
10/02/21 18:04:48
こういうキチガイがマジ多くて困る。
293:デフォルトの名無しさん
10/02/21 18:08:15
>>270と>>271の情報だけで原因を特定できるエスパーなんていないだろ
294:デフォルトの名無しさん
10/02/21 18:10:34
こういうキチガイがマジ多くて困る。
295:デフォルトの名無しさん
10/02/21 18:14:41
▄▄ ▄▄▄ █ ▄█
▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █
▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █
█▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █
█▄ █ ▄█ █▀▀█ █ █▄
▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀
▄▄▄▄▄▄ ▄▄▄
▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █
█▀ █ ▀▀█▀ ▀▄
█ █▀▀▀ █ █▄ ▀
█▄▄▄ █ ▄▄▄ ▀▀
▀ ▀▀▀
296:デフォルトの名無しさん
10/02/21 18:17:06
vbとhdが何の意味なのかわかればエスパーが出てきてくれるかもしれん、ちょっと気になった
297:デフォルトの名無しさん
10/02/21 18:17:56
Visual Basic
298:デフォルトの名無しさん
10/02/21 18:23:23
あげとくよー
299:デフォルトの名無しさん
10/02/22 00:31:39
あげた途端レスストップとかw
300:デフォルトの名無しさん
10/02/22 00:40:04
一通り語り終わった後に上げるのが悪い
301:デフォルトの名無しさん
10/02/22 09:01:37
VerticalとHorizontalだろ……常考
302:デフォルトの名無しさん
10/02/22 09:48:55
p
303:デフォルトの名無しさん
10/02/23 01:52:16
GDI+でアルファ値を含むbmpファイルをロードして描画すると
透明になるべき部分が真っ黒になってしまいます。
Image::GetPixelFormat()でARGBではなくRGB形式となってました。
LoadImageで読み込んだ後、GetObjectで生データを取り出して
ARGB形式での生成も試したのですが
生成はできたもの描画ができない状態です。
LoadImageとAlphaBlendではうまくできたのですが‥‥
GDI+でアルファ値のbmpは駄目なのでしょうか?
304:デフォルトの名無しさん
10/02/23 01:55:02
bmpの32bitはそもそもリザーブになってるはず
本気でアルファを考えるならpngを読ませないとだめなんじゃないの?
305:デフォルトの名無しさん
10/02/23 01:56:27
>bmpの32bitはそもそもリザーブになってるはず
bmpの32bitのアルファにあたる部分はそもそもリザーブになってるはず
306:デフォルトの名無しさん
10/02/23 02:54:46
>>303
そもそもARGBなフォーマットがBITMAP形式では定義されてない。
307:デフォルトの名無しさん
10/02/23 03:22:16
ビットマップにアルファは仕様外って事でしょうか。
ヘッダをBITMAPV4HEADERにしてもGDI+では駄目でした。
LoadImage/AlphaBlendを使うか、GDI+/pngで行く事にします。
308:デフォルトの名無しさん
10/02/23 04:19:49
BITMAPがアルファをサポートしたとか聞いたことないしなあ
vistaとか7のペイントは知らんけど、xpのペイントはアルファをきっちり潰してくれるしな・・・
そういう状況を見るとサポートしてないと考えるしかないだろ
それにpngがあるんだしわざわざbmpがサポートする必要もないしな
309:デフォルトの名無しさん
10/02/23 08:41:52
一般的な画像で透明度を持ってるのってgifかpngだけだろ。
ビットマップの場合は「この色だけ描画しない」って指定してやって、
画像側ではなくアプリケーション側で透明度を調節するタイプじゃね?
310:デフォルトの名無しさん
10/02/23 10:15:51
>>309
カラーキーは別に後でも指定できるはずだよ
一時期のゲームなのどでは原色の緑をカラーキーに使ったりしてたはず
311:デフォルトの名無しさん
10/02/23 11:23:12
フォームを最善面に表示するAPIを教えてください
312:デフォルトの名無しさん
10/02/23 11:36:55
もういいです役に立たないクズ共だなあ
313:デフォルトの名無しさん
10/02/23 11:38:46
フォームを最善面に表示するAPIを教えてくださいを解決するAPI
つ ぐぐれカス
314:デフォルトの名無しさん
10/02/23 12:34:41
ここって>>313みたいなゴミしかいないのかな?
315:デフォルトの名無しさん
10/02/23 13:11:53
>>314
つ 鏡
316:デフォルトの名無しさん
10/02/23 13:29:14
レス乞食乙
317:デフォルトの名無しさん
10/02/23 19:24:13
GDIにおけるビットマップの扱いがWin3.1の頃と変わってないんですね‥‥
ペイントが出力するファイルもWin3.1のビットマップ形式でした。
BITMAPV4HEADER.bV4AlphaMask
BITMAPV5HEADER.bV5AlphaMask
Win9xの時からこういうのがあったもんで、てっきりOKかと思ってました。
腑に落ちなかったので、あれからいろいろ試していましたが
自前でbmpファイルを読み込み、生データをARGB形式として
直接GDI+に食わす方法が一番でした。
318:デフォルトの名無しさん
10/02/23 19:40:36
>>317
別にそれでいいというのなら止めはしないけど、
正しい方法が分かってるなら正しい方法を採った方がいいよ。
BITMAPがARGBを正式にサポートしてないことには変わりがないので、
TIFFやPNGなど正式にサポートしている画像形式を使うのがこの場合は正しい。
最初にも言ったけど、動けばいい、という態度なら止めはしない。
319:デフォルトの名無しさん
10/02/23 19:50:10
え、MSDNにもしっかり載ってるのに正式じゃないの?
URLリンク(msdn.microsoft.com)(VS.85).aspx
URLリンク(msdn.microsoft.com)(VS.85).aspx
Photoshopの起動ロゴのような変形レイヤードウィンドウも
アルファチャンネルのあるビットマップを使うみたいだし‥‥
URLリンク(www.yoshibaworks.com)
320:デフォルトの名無しさん
10/02/23 19:57:35
>>317
そもそもビットマップ形式自体が変化してないからでは?
そこが変わっちゃうと互換性問題が強く出る気がする。
それが指してるアルファマスクって、二値の情報で黒いところだけマスクする奴じゃね?
321:デフォルトの名無しさん
10/02/23 22:55:36
>>319
>The high byte in each DWORD is not used.
これどういう意味
322:デフォルトの名無しさん
10/02/23 23:08:07
>>319
32bitの色情報を格納する構造体RGBQUADを調べてみるといいよ
ヘッダにアルファの文字があっても多分古い規格のカラーキーについてだと思うよ
pngのような最大で1バイトまるまるアルファとかはサポートしてないはず
323:デフォルトの名無しさん
10/02/23 23:14:23
あと>>317もpng使えっていわれてるのになんで自前でbmp読み込むことにこだわる
pngだって所定のデコード処理を施せばメモリ上に置かれてるのはbmpと同等だよ
324:デフォルトの名無しさん
10/02/23 23:23:24
>>319
後半に関してはDIBにはAlphaがあるがBITMAPにはAlphaが無いってだけ
GDI+の内部では元が何であろうがDIBで扱ってるからAlphaがないと困る
URLリンク(msdn.microsoft.com)
325:デフォルトの名無しさん
10/02/23 23:29:34
1ピクセル64bitとか誰が要求してんだ
326:デフォルトの名無しさん
10/02/24 00:12:54
別に叩かれてるわけでもないのに>>319がふるぼっこすぎる
327:デフォルトの名無しさん
10/02/24 00:19:46
叩かれてないならいいじゃねえか
328:デフォルトの名無しさん
10/02/24 00:23:01
>>325
なんか業界団体はRGBで96bit目指してるらしいけど…。
329:デフォルトの名無しさん
10/02/24 00:24:35
そんな細かくグラデーションしてどうすんだよ
330:デフォルトの名無しさん
10/02/24 00:34:04
普通ならいらないけど、B/Wな画像(レントゲンとかCTとか)では実質1/3になっちゃうんで、
そういう分野では必要なのかも。
331:デフォルトの名無しさん
10/02/24 00:48:45
モノクロ環境は考えてなかったな
なるほどな
332:デフォルトの名無しさん
10/02/24 02:14:10
>>284
キャストを全然つけなくてちょいちょい泣いてるのが初心者
泣きたくないのでキャストつけまくるのがトラウマを抱えた初心者
大人になれば必要なとこだけキャストをつけるようになるよ
333:デフォルトの名無しさん
10/02/24 06:43:30
複数のダイアログを使いたいんだけど
1つのダイアログごとにプロシージャを別にすることは出来ないの?
334:デフォルトの名無しさん
10/02/24 08:53:47
CreateDialog()の第四引数に個々のプロシージャ指定すれば出来るお
↓
URLリンク(msdn.microsoft.com)
335:デフォルトの名無しさん
10/02/24 10:19:03
自分のPCに入ってるSNMPの指定オブジェクトIDに値を書くAPIを教えてください。。
336:デフォルトの名無しさん
10/02/24 11:02:01
URLエンコード用のAPIってありますか?
337:デフォルトの名無しさん
10/02/24 11:21:01
>>335 SnmpSetVb
>>336 UrlEscape
ここに書き込むより自分で探した方が早いはず
338:デフォルトの名無しさん
10/02/24 11:28:35
>>330
本当にモノクロなら
16bitでは重複が許されないが
32bitのBI_BITFIELDSならRedMaskとGreenMaskとBlueMaskに同じ値をセットするだけで規格上は問題ないはずなのだが
339:デフォルトの名無しさん
10/02/24 12:20:50
DDSでやるとか
340:デフォルトの名無しさん
10/02/24 14:04:39
3時間程度でwin32apiが使えるようになるサイト教えてください。
当方VB.NETが使えます。
341:デフォルトの名無しさん
10/02/24 14:10:11
URLリンク(msdn.microsoft.com)
342:デフォルトの名無しさん
10/02/24 14:11:22
>>340
URLリンク(www.nicovideo.jp)
343:デフォルトの名無しさん
10/02/24 14:12:38
>>337
ありがとうございます。
SnmpSetVbはwsnmp32.dllを使うみたいでこのdllは発見したのですが
これのヘッダーファイルはどこにあるのでしょうか?
344:デフォルトの名無しさん
10/02/24 14:15:29
ファイル名聞いてるの?
そのものズバリWinSnmp.hだよ、PlatformSDKのディレクトリにあるよ
345:デフォルトの名無しさん
10/02/24 14:32:58
>>340
URLリンク(www.google.co.jp)
このサイトなら3時間かからん
346:デフォルトの名無しさん
10/02/24 14:49:41
msdnみればわかる事を聞くな。
347:デフォルトの名無しさん
10/02/24 15:48:41
>>344
ありがとうございます。
C++Builderを使っているのですが、WinSnmp.hを発見しました。
libは発見済みだったのでこれでリンクもできます。
すみません、最後にSnmpSetVbとかの関数の使い方を書いてるサイトありますか?
初期化とか使うまでの一連の流れというか・・・
348:デフォルトの名無しさん
10/02/24 15:58:33
URLリンク(msdn.microsoft.com)
349:デフォルトの名無しさん
10/02/24 16:25:18
どうしても見つからない場合はSourceForgeあたりでコードを漁る
350:デフォルトの名無しさん
10/02/24 16:25:41
何真面目に答えてんだカス
351:デフォルトの名無しさん
10/02/24 16:54:02
そしてGPL汚染と
352:デフォルトの名無しさん
10/02/24 16:56:30
>>337で、自分で探せば?といわれるが、懲りずに質問をし
>>346で、msdnみなよ、といわれ、懲りずに質問をし
>>348で、msdnへのリンクを貼られた
>>335は次に英語がよく分からないです。一連の流れのサンプルはないですか?と聞く。
353:デフォルトの名無しさん
10/02/24 17:52:01
あれwwwwwwwwwwwwwww
ここって質問スレだよなwwwwwwwwwwwwww
よく>>352みたいなクズが沸くけどなんだろうなw
つーかもうこのスレいらなくね?
誰かが質問したらググれしか言わない奴が張り付いてるし
珍しく誰かが答えたら基地外が沸くしw
354:デフォルトの名無しさん
10/02/24 17:54:03
質問スレって宿題スレだったのか
355:デフォルトの名無しさん
10/02/24 17:54:35
こんなレスしたら今度は俺が>>335だって基地外に言われるんだよなww
このスレも酷くなったもんだよなあ
356:デフォルトの名無しさん
10/02/24 18:40:43
>>353
そんなこといったら2ちゃんがいらないってことになる
実際いらないけどw
357:デフォルトの名無しさん
10/02/24 18:44:43
まぁ粘着だろうな、このスレも人に恨まれる程になったとw
人生無駄に削ってくれとしか言えんな( ´ω`)
358:デフォルトの名無しさん
10/02/24 19:25:12
windows 7 Home premium x64
Visual C++ 2008 Express Edition
アクティブソリューションプラットフォーム: Win32
で作業しています。
実行中のプロセスが WOW64 か Native64 かを判定しようと
以下のように記述しましたが、kernel32.dll 内に GetNativeSystemInfo 関数が無いと
いう結果になってしまいます。
typedef void (WINAPI *FPGETNATIVESYSTEMINFO)(LPSYSTEM_INFO lpSystemInfo);
FPGETNATIVESYSTEMINFO GetNativeSystemInfo =
(FPGETNATIVESYSTEMINFO)GetProcAddress(
GetModuleHandle(TEXT("karnel32.dll")), "GetNativeSystemInfo");
if (GetNativeSystemInfo != NULL) {
GetNativeSystemInfo(&systemInfo);
} else {
GetSystemInfo(&systemInfo); <--- デバッグすると、こちらに入ります
}
win7なのに GetNativeSystemInfo関数が使えないのは
どうしてなのでしょうか?ご教授お願いいたします。
359:デフォルトの名無しさん
10/02/24 19:28:02
GetModuleHandleが失敗してるだろそのコード
360:358
10/02/24 19:36:11
>>359
ありがとうございます。
GetModuleHandleのエラー情報を取得する関数を調べる過程で、
kernel32.dll と karnel32.dll を見間違えていたことが分かりました。
GetModuleHandle(TEXT("kernel32.dll")) と修正したところ、
WOW64判定ができました。
簡単なミスでお恥ずかしいです。失礼します。
361:デフォルトの名無しさん
10/02/24 20:43:54
ウィンドウスタイル"EDIT"のウィンドウをfor文で10個一気に作ろうとすると
処理が間に合わずプログラムが「応答なし」になるのですが、どうにか出来ませんか?
362:デフォルトの名無しさん
10/02/24 21:02:40
>>361
ソースコードを晒せば?
363:デフォルトの名無しさん
10/02/24 21:33:44
>>362
すみません、自己解決しました
スレ汚し本当に申し訳ないです
364:デフォルトの名無しさん
10/02/24 21:36:43
>>353
MSDNのSnmpSetVbについてのページが見つからないので教えてください
365:デフォルトの名無しさん
10/02/24 22:26:30
>>364
URLリンク(msdn.microsoft.com)
366:デフォルトの名無しさん
10/02/24 22:29:45
URLリンク(nienie.com)
のサンプルを動かしてみたんですが、デスクトップはできるものの、
新しいデスクトップ上にメッセージボックスが表示されません。
環境は Windows XP SP2 です。どうしてでしょうか?
367:デフォルトの名無しさん
10/02/24 22:49:49
>>365
ありがとうございます。
がんばって読んでるのですが、難しいです。日本語のコメント付き使用例などはないのでしょうか。。
368:デフォルトの名無しさん
10/02/24 22:51:31
もう日本の公用語英語にするしかねえな
369:デフォルトの名無しさん
10/02/24 22:58:13
>>367
夜間中学にでも入ってやり直せ。
370:デフォルトの名無しさん
10/02/24 23:04:56
The high byte in each DWORD is not used.
が読めない人のいるスレだからしょうがない。
371:デフォルトの名無しさん
10/02/24 23:07:03
>>367
>>352
372:デフォルトの名無しさん
10/02/24 23:21:28
なんという。
>>353が変なこと書くから回答してもらえると思っちゃったんじゃないか?
373:デフォルトの名無しさん
10/02/24 23:32:52
英語ができない奴はなでしこでもやってればいいと思うよ
374:デフォルトの名無しさん
10/02/24 23:44:48
>>366
自己レス。SetThreadDesktop() が 170 で失敗してました。
ググって見ると、呼び出し元スレッドにウィンドウとかが存在するときは失敗するそうで。
前にうまくいったのは、コンソールアプリだったのを忘れてました・・・。
375:デフォルトの名無しさん
10/02/25 07:19:37
>>370
その記述がBI_RGBの場合だけという事を理解できない人のいるスレだからしょうがない
376:デフォルトの名無しさん
10/02/25 14:44:17
GetOpenFileName関数でコモンダイアログを用いた処理で、
ファイルを選択後、「開く(O)」ボタンを押した時、
そのファイルを判定し、有効ならばそのままダイアログを閉じ、
無効ならば、再度ファイルを促したいと思っています。
OFN_ENABLEHOOKを利用してフックし、WM_NOTIFYメッセージの時、
lpOfNotify->hdr.code == CDN_FILEOKの時に判定することまでは出来ました。
ここで、無効なファイルだった場合はCDN_FILEOKをキャンセルし、
「開く(O)」ボタンを押す前の状態に戻りたい場合、
どうするんでしょうか?
377:デフォルトの名無しさん
10/02/25 14:47:47
ググれかす
378:デフォルトの名無しさん
10/02/25 15:03:22
>>376
普通にMSDNに書いてある方法では駄目なの?
URLリンク(msdn.microsoft.com)
379:デフォルトの名無しさん
10/02/25 15:11:31
!0
380:デフォルトの名無しさん
10/02/25 15:35:27
WindowsのIEコンポーネントブラウザでドラッグアンドドロップを不許可にしたいんですが
なにか良い方法無いでしょうか?
DragAcceptFilesで上から順に全部FLASEにしてみましたが、効果ありませんでした。
381:デフォルトの名無しさん
10/02/25 15:36:00
ぐぐれよぅ
382:デフォルトの名無しさん
10/02/25 15:41:43
>>381
何時間ぐぐっても見つからないので検索ワードだけでも教えてください。
383:デフォルトの名無しさん
10/02/25 15:45:43
>>380
ほい
URLリンク(hpcgi1.nifty.com)
384:デフォルトの名無しさん
10/02/25 15:49:09
>>382
はい
URLリンク(hpcgi1.nifty.com)
385:デフォルトの名無しさん
10/02/25 15:55:47
>>383
どうやらドラッグアンドドロップについての文章じゃないようですね。
ソースコードをじっくり読んでみます。
386:デフォルトの名無しさん
10/02/25 16:05:24
本来なら数時間ぐぐっただけでぐぐった気になるのは
許せないところだけどな。
俺なんて目から血が出るくらいぐぐるからな。
387:デフォルトの名無しさん
10/02/25 16:09:50
そのまま死ねばいいのにね
388:デフォルトの名無しさん
10/02/25 16:10:53
はい
389:デフォルトの名無しさん
10/02/25 16:11:16
ここはもう機能してないスレだから他行った方が良いよ
390:デフォルトの名無しさん
10/02/25 16:19:59
D&Dもイベントが発生するけどイベント処理ロジックがなかったら何もおきない・・・ってことはないのかな?
391:デフォルトの名無しさん
10/02/25 22:05:04
registerasdroptarget
392:デフォルトの名無しさん
10/02/26 00:03:59
MN_GETHMENUは、何故MN_から始まってるんでしょう。
393:デフォルトの名無しさん
10/02/26 00:10:33
Menu Notify
394:デフォルトの名無しさん
10/02/26 00:10:58
何も思わずMeNuだと思っていたが、それならMMのほうがよくね?って話かな
395:デフォルトの名無しさん
10/02/26 00:17:45
わかりました。
396:デフォルトの名無しさん
10/02/27 04:00:07
MessageBoxについて質問します。
タスクマネージャーを監視しているとMessageBoxを呼び出すごとにGDIオブジェクトが増えているのですが、
これはいったいなぜでしょうか?
MessageBoxを呼び出して、たとえばMB_OKでOKを押させて消させた場合もGDIオブジェクトの数が減ることがありません。
非常に気になるので、MessageBoxを呼び出しおわったあとにGDIオブジェクトをクローズする方法を教えてもらえませんか?
397:デフォルトの名無しさん
10/02/27 04:18:44
ソース
398:デフォルトの名無しさん
10/02/27 04:27:29
しょうゆ
399:デフォルトの名無しさん
10/02/27 05:01:50
ソース
400:デフォルトの名無しさん
10/02/27 05:22:33
しーそー
401:デフォルトの名無しさん
10/02/27 11:42:29
ソース
402:デフォルトの名無しさん
10/02/27 17:23:50
まぁMessageBox以外を疑うべきでは?Box出さないでウィンドウサイズ変更とかグリグリしながら監視推奨
403:デフォルトの名無しさん
10/02/28 06:04:33
CreateDialogで作ったダイアログ内のコンボボックスに
項目を追加するにはWM_INITDIALOG内で
SendDlgItemMessage(hDlg, コンボボックスの識別子, CB_ADDSTRING , 0 , (LPARAM)"text");
これでいいんだよな?
何も起こらないんだけど
404:デフォルトの名無しさん
10/02/28 10:54:05
同じコードでやって、それがリストボックス(LB_ADDSTRING)で動くなら
コンボボックスでもいけると思うが
まさかF4キーでドロップダウンしてないってオチじゃないよね
405:デフォルトの名無しさん
10/02/28 11:36:06
リストボックスは出来た
コンボは追加されてないっぽい
406:デフォルトの名無しさん
10/02/28 14:58:12
コンボボックスの高さが足りてないオチは?
407:デフォルトの名無しさん
10/02/28 21:08:08
実際に追加されていないのか、単に表示がされないのか切り分けだな。
あとはSendMessageで試すとか
408:デフォルトの名無しさん
10/03/01 05:39:41
リソースエディッタで作ったダイアログを
トップレベルウィンドウとして扱うことって出来ないんでしょうか?
409:デフォルトの名無しさん
10/03/01 05:43:54
>>408
WinMain以下でいきなりダイアログを開けば勝手にトップレベルウィンドウになると思うが?
410:デフォルトの名無しさん
10/03/01 05:51:37
教師をしているんだが、生徒が勝手に他人の文書をコピペできない
ようにクリップボードを定期的にクリアするサービスアプリケーション
を作ってるんだがどのようにすればいいか教えてくれないかい?
サイズが0のウィンドウを開いてタイマーを1秒に
設定して、1秒ごとにEmptyClipBoadを発行するものを
作ったんだが、タスクバーで右クリックすれば終了できて
しまうんだ。タスクバーにアプリケーション名を出さずに
実行するのはどのようにすればいい?
411:デフォルトの名無しさん
10/03/01 06:09:32
>>410
そんなアプリを生徒に強制的に使わせるのはヤメレ。
412:デフォルトの名無しさん
10/03/01 06:18:17
>>410
悪意無しで本当にコピペしたいって時はどうさせるのですか先生
413:デフォルトの名無しさん
10/03/01 06:26:07
>>410
それなんてウィルス
414:デフォルトの名無しさん
10/03/01 06:28:38
教師が考えそうな低俗で下劣なアプリだな
415:410
10/03/01 06:45:04
>>412
自前のクリップボードビューワーのついたテキストエディターも
作ってみようとと思ってる。タブ方式とする予定。
他の文書でマウスで一部をハイライト状態にすると、
自動的にビューワーのほうに転送されるようにしてあげる。
それを見ながら、手打ちするわけだ。タブを切り替えたり
スクロールさせなくていいわけだ。優しいだろ?
このトランスクリプトモードに入ったら、それまで入力された
箇所の不用意な変更を防止してあげる。そして
ビューワーの文字列を端から順番通りちゃんとミスタッチ無く
入力できるようにしてあげる予定(ミスタッチしたらBSを
入力したのと同じ効果にしてあげるとか)
416:デフォルトの名無しさん
10/03/01 06:47:11
そこらにあるクリップボード支援ツール使われて即死と見た
417:デフォルトの名無しさん
10/03/01 06:49:53
>>415
そんな最上級のウザソフト作って何がしたいの?w
418:410
10/03/01 06:54:04
で、タスクバーに表示させない方法は知ってるかい?
419:デフォルトの名無しさん
10/03/01 07:00:17
何が目的か分からんが、PC使う以上はコピペは推奨すべき。
タイピングさせたいならタイピングオブザデッドでも買い与えてやれ。
420:デフォルトの名無しさん
10/03/01 07:14:01
馬鹿のオナニーに付き合わされて、本当に貴重な10代での学習機会を棒に振られる生徒が可哀想・・・
421:デフォルトの名無しさん
10/03/01 07:24:16
教師がこんな無知なわけないだろ
素直にウィルス作ってますと言えよ
422:デフォルトの名無しさん
10/03/01 07:26:49
こんな無知が担当の生徒が可哀想。
423:デフォルトの名無しさん
10/03/01 07:34:30
Adomin権限で実行すれば一般権限のユーザーからは見れないぞ。
まさか生徒にAdomin権限使わせてるってことはないだろう?さすがに。
使わせてるとしたらバカ教師クオリティ。
424:デフォルトの名無しさん
10/03/01 07:37:50
adominって何すか?
中学生かお前
425:デフォルトの名無しさん
10/03/01 07:50:42
もう許してください
426:デフォルトの名無しさん
10/03/01 07:54:47
コピペした時にクリップボードの内容を生徒別にリストする方がいいんでないの
どこで(URLとかPathとか)コピーしてどこへペーストしたかって
427:410
10/03/01 07:56:24
要するにここの人は貴重な10代での学習機会を
貧弱なソフト環境だったWin9xとかで棒に振られた
可哀想な世代だってことですね。 理解できました。
どうも傷ついてしまったようですみません。
訊いたのが間違いでした。
428:デフォルトの名無しさん
10/03/01 07:59:19
2時間掛けてようやく気付いたのか馬鹿
429:デフォルトの名無しさん
10/03/01 08:01:29
いいえ、パンチカード世代です
430:デフォルトの名無しさん
10/03/01 08:20:47
こんな無能の自称教師にオナニー環境押し付けられるくらいなら
黒板にググレカスとだけ書いて自習させた方が遥かに有意義だわな
431:デフォルトの名無しさん
10/03/01 08:24:47
>>427
この簡単に答えられる質問を、誰にも答えてもらえない
お前さん人に物を教える前に、人に物を教えてもらう方法を学ぶべきじゃないか?w
432:デフォルトの名無しさん
10/03/01 08:40:02
おい、電車下りる時間。
433:デフォルトの名無しさん
10/03/01 08:46:49
URLリンク(www.ikuyama.net)
434:デフォルトの名無しさん
10/03/01 10:45:00
ユトリが教師になると碌なことが無いという良い見本だな。
435:デフォルトの名無しさん
10/03/01 10:47:44
いつの時代も馬鹿はいるもんだ
436:デフォルトの名無しさん
10/03/01 10:53:04
だがしかし
もう世の中には
ゆとりの教師かゆとりを育てた教師しかいないという絶望感
437:デフォルトの名無しさん
10/03/01 10:59:14
URLリンク(ruffnex.oc.to)
438:デフォルトの名無しさん
10/03/01 12:20:12
非クライアント領域を自分好みに変形させることってどうやったらできます?
439:デフォルトの名無しさん
10/03/01 12:30:29
無理です
440:デフォルトの名無しさん
10/03/01 13:13:41
EmptyClipBoad じゃなくて EmptyClipboard だろ
441:デフォルトの名無しさん
10/03/01 13:55:57
教師をしているんだが
EmptyClipBoad
442:デフォルトの名無しさん
10/03/01 15:15:36
”ウィンドウが最大化されるとき”は、どうやって知ればよいのでしょうか?
443:デフォルトの名無しさん
10/03/01 15:29:16
WM_SHOWWINDOW
444:デフォルトの名無しさん
10/03/01 16:45:04
すいません、、、聞き方が悪かったのですが、
アプリ・ウィンドウを最大化状態で起動したとき、右上の”Resize”ボタン?を
押したときに、前回アプリ実行時のリサイズ状態に戻したいのですが、どうすれば
よいのでしょ~か?
445:デフォルトの名無しさん
10/03/01 16:57:07
SetWindowPlacement
GetWindowPlacement
446:444
10/03/01 19:47:43
なるほど、、、同じような名前でわけ分かりませんでしたが、そういう意味だったのか、
と納得しました。
447:デフォルトの名無しさん
10/03/01 19:59:09
WM_SYSCOMMANDの(wParam & 0xfff0) == SC_MAXIMIZE
このタイミングで最大化する前のウィンドウサイズを保持して
次回起動後、SC_RESTOREが来たら保存したサイズにリサイズすればいいかと
448:デフォルトの名無しさん
10/03/03 05:07:10
非アクティブ状態でもキー入力を受け付けるには?
449:デフォルトの名無しさん
10/03/03 07:06:25
フック、ホットキー
450:デフォルトの名無しさん
10/03/03 08:41:04
WINDOWS終了時に、ファイルに設定を保存する時って
直接そのファイルに書きこむのと、一度適当なファイル作って書き込み
それを本来のファイルにリネームするのでは、どちらが良い?
451:デフォルトの名無しさん
10/03/03 08:49:03
正しいのは書き換え
大昔の容量比の名残りでMS謹製ソフトでもオリジナルをリネーム後に新規作成してるのがあるけど
452:デフォルトの名無しさん
10/03/03 09:19:44
>>451
サンクス!直接書き換えます
453:デフォルトの名無しさん
10/03/03 10:12:15
>>449
ホットキーというのを試して成功したけど
入力が無効化されてしまうのはどうにかできないの?
454:デフォルトの名無しさん
10/03/03 11:43:13
>>453
非アクティブなプロセスにどんな処理させてるのかによる
単一キーじゃなくてもいいなら普段使わないキーの組み合わせで回避したらどうかな
MODあたり使って
455:デフォルトの名無しさん
10/03/03 13:45:04
Raw Input
RIDEV_INPUTSINK
456:デフォルトの名無しさん
10/03/03 23:33:01
PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。
MSG::messageの中にWM_QUITが来てた時に、メッセージループから抜けようとしたんだけど、
メインウィンドウのハンドルを引数にしてたら、なぜか×ボタンとか押したとき(WM_CLOSEやWM_DESTROYでPostQuitMessage()を呼ぶようにしてる)
プログラムが終了しないんだけど、第二引数にNULLを与えたらうまくいくんだけど…。
NULLを与えても大丈夫なの?
全てのメッセージを取得するようになると勝手に思ってるんだけど…。
457:デフォルトの名無しさん
10/03/03 23:38:56
日本語のでいいからMSDN嫁カス
458:デフォルトの名無しさん
10/03/03 23:44:55
>PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。
ダウト。普通はNULLにする。
ウィンドウハンドルを指定したらそのウィンドウへのメッセージしか取れないだろ。
子ウィンドウ作る場合とかどうすんだ。
そもそもお前の場合GetMessageでWM_QUITを取得しようとした時点で
WM_DESTROY実行済みでウィンドウが無効になってるから失敗して当然。
勝手に思い込む前に頭のバグ直しとけ。
459:デフォルトの名無しさん
10/03/03 23:47:41
なにこのひとこわい
460:デフォルトの名無しさん
10/03/04 00:30:47
>>458
了解。
Win32APIを学ぶために読んだページにウィンドウハンドルを渡すって書いてあったから、鵜呑みにしてた。申し訳ない。
461:デフォルトの名無しさん
10/03/04 04:12:41
>>458
「ダウト」の意味を調べとこうな。