Win32API質問箱 Build86
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/02/05(金) 15:23:00やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!
過去スレ、関連リンクは>>2-10くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage
Win32API質問箱 Build85
http://pc12.2ch.net/test/read.cgi/tech/1262430441/
0002デフォルトの名無しさん
2010/02/05(金) 15:23:4583 ttp://pc12.2ch.net/test/read.cgi/tech/1256891725/
82 ttp://pc12.2ch.net/test/read.cgi/tech/1253699773/
81 ttp://pc12.2ch.net/test/read.cgi/tech/1249140049/
80 ttp://pc12.2ch.net/test/read.cgi/tech/1244057140/
79 ttp://pc12.2ch.net/test/read.cgi/tech/1240411224/
78 ttp://pc12.2ch.net/test/read.cgi/tech/1238289377/
77 ttp://pc12.2ch.net/test/read.cgi/tech/1235494464/
76 ttp://pc11.2ch.net/test/read.cgi/tech/1233622578/
75 ttp://pc11.2ch.net/test/read.cgi/tech/1231423602/
74 ttp://pc11.2ch.net/test/read.cgi/tech/1229239827/
73 ttp://pc11.2ch.net/test/read.cgi/tech/1227934931/
72 ttp://pc11.2ch.net/test/read.cgi/tech/1226575789/
71 ttp://pc11.2ch.net/test/read.cgi/tech/1224745158/
70 ttp://pc11.2ch.net/test/read.cgi/tech/1221446107/
69 ttp://pc11.2ch.net/test/read.cgi/tech/1217687038/
68 ttp://pc11.2ch.net/test/read.cgi/tech/1215348804/
67 ttp://pc11.2ch.net/test/read.cgi/tech/1212931246/
66 ttp://pc11.2ch.net/test/read.cgi/tech/1210775622/
65 ttp://pc11.2ch.net/test/read.cgi/tech/1208847084/
64 ttp://pc11.2ch.net/test/read.cgi/tech/1207099291/
63 ttp://pc11.2ch.net/test/read.cgi/tech/1204600558/
62 ttp://pc11.2ch.net/test/read.cgi/tech/1202060403/
61 ttp://pc11.2ch.net/test/read.cgi/tech/1199514664/
0003デフォルトの名無しさん
2010/02/05(金) 15:23:5759 ttp://pc11.2ch.net/test/read.cgi/tech/1194701996/
58 ttp://pc11.2ch.net/test/read.cgi/tech/1191781463/
57 ttp://pc11.2ch.net/test/read.cgi/tech/1189255282/
56 ttp://pc11.2ch.net/test/read.cgi/tech/1186989201/
55 ttp://pc11.2ch.net/test/read.cgi/tech/1184853465/
54 ttp://pc11.2ch.net/test/read.cgi/tech/1181645965/
53 ttp://pc11.2ch.net/test/read.cgi/tech/1178882828/
52 ttp://pc11.2ch.net/test/read.cgi/tech/1176828891/
51 ttp://pc11.2ch.net/test/read.cgi/tech/1174416295/
50 ttp://pc11.2ch.net/test/read.cgi/tech/1171721448/
49 ttp://pc10.2ch.net/test/read.cgi/tech/1168708801/
48 ttp://pc10.2ch.net/test/read.cgi/tech/1166172047/
47 ttp://pc8.2ch.net/test/read.cgi/tech/1163375772/
46 ttp://pc8.2ch.net/test/read.cgi/tech/1159158014/
45 ttp://pc8.2ch.net/test/read.cgi/tech/1156032806/
44 ttp://pc8.2ch.net/test/read.cgi/tech/1151501925/
43 ttp://pc8.2ch.net/test/read.cgi/tech/1148005509/
42 ttp://pc8.2ch.net/test/read.cgi/tech/1144962549/
41 ttp://pc8.2ch.net/test/read.cgi/tech/1141392216/
40 ttp://pc8.2ch.net/test/read.cgi/tech/1138893959/
39 ttp://pc8.2ch.net/test/read.cgi/tech/1136673250/
38 ttp://pc8.2ch.net/test/read.cgi/tech/1133798345/
37 ttp://pc8.2ch.net/test/read.cgi/tech/1131884991/
36 ttp://pc8.2ch.net/test/read.cgi/tech/1128951330/
35 ttp://pc8.2ch.net/test/read.cgi/tech/1125850096/
34 ttp://pc8.2ch.net/test/read.cgi/tech/1122723009/
33 ttp://pc8.2ch.net/test/read.cgi/tech/1120153520/
32 ttp://pc8.2ch.net/test/read.cgi/tech/1117271829/
31 ttp://pc8.2ch.net/test/read.cgi/tech/1114762194/
0004デフォルトの名無しさん
2010/02/05(金) 15:24:0629 ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/
28 ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/
27 ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/
26 ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/
25 ttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
24 ttp://pc5.2ch.net/test/read.cgi/tech/1098967135/
23 ttp://pc5.2ch.net/test/read.cgi/tech/1095534704/
22 ttp://pc5.2ch.net/test/read.cgi/tech/1092524669/
21 ttp://pc5.2ch.net/test/read.cgi/tech/1090422324/
20 ttp://pc5.2ch.net/test/read.cgi/tech/1088140233/
19 ttp://pc5.2ch.net/test/read.cgi/tech/1084697545/
18 ttp://pc5.2ch.net/test/read.cgi/tech/1081702990/
17 ttp://pc5.2ch.net/test/read.cgi/tech/1077470361/
16 ttp://pc2.2ch.net/test/read.cgi/tech/1073830065/★
15 ttp://pc2.2ch.net/test/read.cgi/tech/1069339866/★
14 ttp://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
13 ttp://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
12 ttp://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
11 ttp://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
10 ttp://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
9 ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
8 ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
7 ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
6 ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
5 ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
4 ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
3 ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
2 ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
1 ttp://pc.2ch.net/tech/kako/991/991576947.html
0005デフォルトの名無しさん
2010/02/05(金) 15:24:340006デフォルトの名無しさん
2010/02/05(金) 15:31:55これですこれです
出来ましたありがたや
0007デフォルトの名無しさん
2010/02/05(金) 15:35:19それじゃない
コンソールアプリとして組んで(int mainエントリー)
GUIも使う
それが出来てからWinMainエントリーなGUIアプリ
に改造する
これが常道。
WinMainから始めるのは外道
0008デフォルトの名無しさん
2010/02/05(金) 15:40:42よかったらそれも教えてください
subsystemスイッチを消すとエントリポイントを勝手に探してくれるのは知ってるけど
GUI用のメッセージキューとか?は
どうやって準備するんですか?
0009デフォルトの名無しさん
2010/02/05(金) 15:45:06ファイルにHTMLとかでメッセージ出したほうが
見やすくね?表とかに整形して出すこととか
出来るし、フォントの大きさも色も変えられるし...
0010デフォルトの名無しさん
2010/02/05(金) 15:45:17WinMainがなにか用意してくれたか?
0011デフォルトの名無しさん
2010/02/05(金) 15:54:32こっちはGUIが終了してもコンソールは残るのか
0012デフォルトの名無しさん
2010/02/05(金) 16:20:55実は外道と常道なんてちょっとした差
でしかないという考えもある。ブラウザ
とかインフラが揃っておるご時世、
UNIXのシェルアプリのような組み合わせ
て使ってナンボなアプリにするわけでもな
きゃ、最初からコンソール出力はせず
>>9のようにリアルタイムにHTML出
力してブラウザでログを眺めるというよう
なやり方もありだとオモ
0013デフォルトの名無しさん
2010/02/05(金) 16:45:27ってか?
0014デフォルトの名無しさん
2010/02/05(金) 16:48:12int 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;
}
0015デフォルトの名無しさん
2010/02/05(金) 17:15:15対応するメニューアイテムないと使えないんでしょうか
ショートカットキー込で再利用できる部品を作れないかと思ったんですが
メニューアイテムとセットになってるんだとすると
そういう部品化は出来ないってことになりますよね?
0016デフォルトの名無しさん
2010/02/05(金) 18:27:16CreateAcceleratorTable()で作ったハンドルをTranslateAccelerator()に渡すだけでよい
複数のハンドル作れば、PCゲームみたいな1つの操作に複数のキー割り当て的なこともできる
0017デフォルトの名無しさん
2010/02/06(土) 04:28:490018デフォルトの名無しさん
2010/02/06(土) 09:05:100019デフォルトの名無しさん
2010/02/06(土) 11:07:19早く起動されたアプリの情報から順番に
プロシージャへ渡されるの?
0020デフォルトの名無しさん
2010/02/06(土) 11:10:350021デフォルトの名無しさん
2010/02/06(土) 19:00:010022デフォルトの名無しさん
2010/02/06(土) 20:57:550023デフォルトの名無しさん
2010/02/06(土) 22:42:130024デフォルトの名無しさん
2010/02/07(日) 00:03:340025デフォルトの名無しさん
2010/02/07(日) 06:06:380026デフォルトの名無しさん
2010/02/07(日) 10:02:410027デフォルトの名無しさん
2010/02/07(日) 13:32:150028デフォルトの名無しさん
2010/02/07(日) 13:49:03Socketクラスはwinsockで実装されてるんじゃないかな
0029デフォルトの名無しさん
2010/02/07(日) 14:11:27メニューボタンをつけるにはどうしたらいいの?
0030デフォルトの名無しさん
2010/02/07(日) 14:16:360031デフォルトの名無しさん
2010/02/07(日) 14:43:01ttp://www.kumei.ne.jp/c_lang/index_sdk.html
信頼度は高いですか?
0032デフォルトの名無しさん
2010/02/07(日) 14:47:280033デフォルトの名無しさん
2010/02/07(日) 14:48:250034デフォルトの名無しさん
2010/02/07(日) 17:07:56参考になるサイト等がありましたら教えて
0035デフォルトの名無しさん
2010/02/07(日) 17:12:540036デフォルトの名無しさん
2010/02/07(日) 17:17:29APIで数式エディタを作ろう!みたいなタイトルでサンプル提供してるような所を指してるの?
そんなニッチなもんあるわけねえだろ
0037デフォルトの名無しさん
2010/02/07(日) 17:29:32Σとかどうやって作るんだよ
0038デフォルトの名無しさん
2010/02/07(日) 17:35:54ありがとう
0039デフォルトの名無しさん
2010/02/07(日) 18:16:44こんなんあるけど↓ ???
http://www.vector.co.jp/magazine/softnews/091212/n0912121.html
0040デフォルトの名無しさん
2010/02/07(日) 19:17:50数式の体系自体を変えるべきだと思うんだ
0041デフォルトの名無しさん
2010/02/08(月) 02:59:530042デフォルトの名無しさん
2010/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;
}
0043デフォルトの名無しさん
2010/02/08(月) 18:03:23case 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);
}
0044デフォルトの名無しさん
2010/02/08(月) 23:15:32あるスレッドが複数のイベントを待ちたい場合ってどういうふうに
設計するのが一般的でしょうか?
複数のイベントとは、片方はソケットからの入力、
もう片方は他のスレッドからの要求です。
MsgWaitForMultipleObjectはソケットが待てないっぽいんで。
環境はCで、MFCなしです。
0045デフォルトの名無しさん
2010/02/09(火) 00:35:34メインウィンドウのプロシージャに振り回されて、まともな設計ができない
0046デフォルトの名無しさん
2010/02/09(火) 00:46:55むしろ、MsgWaitForMultpleObjectでソケットが待てないソースを教えてほしい。
WaitForMultipleObjectsとかでもソケット使えるのだから、
直感的にはMsgWaitForMultpleObjectでダメとは思えないのだけど。
0047デフォルトの名無しさん
2010/02/09(火) 00:51:09つMFC
0048デフォルトの名無しさん
2010/02/09(火) 00:56:55Windows API自体オブジェクト指向の固まりだと言うことに気付け。
ハンドル1つ1つがインスタンス。
それはともかく、ウィンドウプロシージャをクラスのメンバ関数にする方法は
いくつかあって誰か書いているはずだから、ググれば見つかる。
それでメインウィンドウという括りで1つのクラスが出来上がる。
0049デフォルトの名無しさん
2010/02/09(火) 00:59:20例えば日本語(全角)5文字表示する所に半角10文字のスペースを上書きしても
日本語の方が横長みたいで全て埋まらないのです
まとめると、全角5文字を半角10文字のスペースできっちり埋めれるようにするような関数はありますか?
0050デフォルトの名無しさん
2010/02/09(火) 01:06:270051デフォルトの名無しさん
2010/02/09(火) 01:13:26CreateFontのcharsetに等幅フォントやってみようと思います
ありがとうございました
0052デフォルトの名無しさん
2010/02/09(火) 02:40:04WTLもあるよ
005344
2010/02/09(火) 08:44:11*WaitFor*Objectで待てるものに、ソケットが対象になっていませんでした。
ハンドルしか待てないからソケットは待てないと思っているのですが、
何か方法があるのでしょうか?
単純に待つハンドルの配列にソケットを突っ込めばいけてしまうとかでしょうか?
MFCのAPIを使えば、ソケットとハンドルが関連付けられてWaitFor*でも
待てるっぽいところまでは分かったのですが、今回はMFCが使えないので…。
0054デフォルトの名無しさん
2010/02/09(火) 09:06:56毎回CreatePopupMenu呼んでるから
0055デフォルトの名無しさん
2010/02/09(火) 09:40:540056デフォルトの名無しさん
2010/02/09(火) 09:42:19WSAEventSelect
0057デフォルトの名無しさん
2010/02/09(火) 11:54:22だいぶ昔に作り捨てたプログラムではスタイルシートをres:プロトコルでIEコン
ポーネントに流し込む手法を使いましたが、この方法は使えなくなってしまった
ようで、IHTMLStyleSheet::addRuleで流し込む必要ががあるようです。
元データ自体はCSSの文法で持ちたいので、C/C++から利用できるフリーのCSSパー
ザまたはIEコンポーネントの再利用法は有りませんか?
0058デフォルトの名無しさん
2010/02/09(火) 12:57:07正規表現だけでいけるような気がしてきたので質問取り下げます。
0059デフォルトの名無しさん
2010/02/09(火) 15:54:130060デフォルトの名無しさん
2010/02/09(火) 16:09:280061デフォルトの名無しさん
2010/02/09(火) 16:48:18切り替えるからTEXT使う、なら基本は全部に使う。(処理の詳細的に使わない場合はあり得る)
切り替えないけどLよりTEXTが好き、でも別にいい。
だいぶスレ違いな気がする。
0062デフォルトの名無しさん
2010/02/09(火) 19:06:03ExtractAssociatedIcon という API を使用すると 32 x 32 のアイコンしか取得することができません。
48 x 48 のアイコンを取得したいのですが、どのようにすれば良いでしょうか?
0063デフォルトの名無しさん
2010/02/09(火) 22:50:25xn_resourceeditor
0064デフォルトの名無しさん
2010/02/09(火) 23:02:59ありがとです。
いろいろ検討してみます。
0065デフォルトの名無しさん
2010/02/10(水) 04:59:51CCustomFileDialog::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();
}
コンボボックスから選択中のアイテムを取得できたんだが、そこから文字列を取得する方法がわからない。
くぐってもさっぱり出てこないので教えてほしい。
0066デフォルトの名無しさん
2010/02/10(水) 10:35:410067デフォルトの名無しさん
2010/02/10(水) 10:39:47パフォーマンスカウンタデータヘルパーAPIっていうバカ長い名前のAPIがあるのでそれを使います
0068デフォルトの名無しさん
2010/02/10(水) 10:41:47http://nienie.com/~masapico/api_PdhGetRawCounterValue.html
0069デフォルトの名無しさん
2010/02/10(水) 12:31:50記憶によると、comboboxの各アイテムに文字列へポインタをユーザ定義のデータと
して埋め込んでおく。
0070デフォルトの名無しさん
2010/02/10(水) 12:33:510071デフォルトの名無しさん
2010/02/10(水) 12:39:160072デフォルトの名無しさん
2010/02/10(水) 19:46:50選択中のならGetWindowText()でできた希ガス
リストボックスのほうならCB_GETLBTEXTとか
0073デフォルトの名無しさん
2010/02/10(水) 22:11:54>>72
とんくす。
0074デフォルトの名無しさん
2010/02/11(木) 10:01:07AW_BLEND | AW_HIDE としているのが見つかるのですが
msdnには、AW_BLENDとAW_HIDEを併用してはいけないと書いてあります。
どうやればいいのか教えてください。
0075デフォルトの名無しさん
2010/02/11(木) 10:52:410076デフォルトの名無しさん
2010/02/11(木) 10:55:07戻り値 True/False 間違えてて正反対の意味なんてことも
0077デフォルトの名無しさん
2010/02/11(木) 11:04:31http://msdn.microsoft.com/ja-jp/library/ms997507.aspx
0078デフォルトの名無しさん
2010/02/11(木) 11:16:43ありがとうございました
0079デフォルトの名無しさん
2010/02/11(木) 11:29:18●●入門とかの言語とかフレームワークとかの書籍も結構致命的な間違いがある
0080デフォルトの名無しさん
2010/02/11(木) 15:40:49両方画面の下に共存させるにはどうしたらいい?
0081デフォルトの名無しさん
2010/02/11(木) 15:51:32APIは一度公開したらインターフェースを返ることは
出来ないからな。使われない余計なパラメータがあ
ったりするのはそういう理由だし。
時には内容はほぼ同じだがインターフェースだけ
変えたAPIとかあるらしいし。古いAPIの更新を
やめて新しいAPIとして管理していくというやり方
を取らざるを得ないケースも多いだろうし
結局数は増える一方。墓地の埋葬者名簿みたいな
もので正確性を永続的に保証できるものじゃない
だろ
0082デフォルトの名無しさん
2010/02/11(木) 15:55:560083デフォルトの名無しさん
2010/02/11(木) 16:20:50その言い訳は「かつては正しかった」という根拠を出してからにしろ。
0084デフォルトの名無しさん
2010/02/11(木) 17:03:31>墓地の埋葬者名簿
いいたとえだなw確かにそうだ
関数の戻り値の一貫性とか破綻してるから困ったもんだな・・・
0085デフォルトの名無しさん
2010/02/11(木) 17:54:48一般人のコードが汚くても誰も責めることはできない
0086デフォルトの名無しさん
2010/02/11(木) 17:58:550087デフォルトの名無しさん
2010/02/11(木) 19:46:47いっしょにコードを
書きませんか?
∧_∧ [windows.h]
(・ω・)丿 ッパ
. ノ/ /
ノ ̄ゝ
0088デフォルトの名無しさん
2010/02/11(木) 21:28:50>Return Value
> Not used.
http://msdn.microsoft.com/ja-jp/library/cc410802.aspx
>戻り値.
>関数が成功すると、0 以外の値が返ります。
>関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
戻り値の説明が勝手に増えててしかも間違っている
翻訳ミスどころかゴミ埋め込んでどうするw
0089デフォルトの名無しさん
2010/02/11(木) 21:32:450090デフォルトの名無しさん
2010/02/11(木) 21:35:190091デフォルトの名無しさん
2010/02/11(木) 21:36:520092デフォルトの名無しさん
2010/02/11(木) 22:08:35そもそも、何でNot usedなのにBOOL返すようになってるんだ?
0093デフォルトの名無しさん
2010/02/11(木) 22:11:51元々 BOOL で使用されていたが
ドキュメントが糞で誰も使わなくなったから
Not used に書き直された
0094デフォルトの名無しさん
2010/02/11(木) 22:19:15HDITEM hdi;
SendMessage(hwnd,HDM_GETITEM,0,(LPARAM)&hdi);
sprintf(str1,"%d",hdi.cxy)
でヘッダーアイテムの幅が取得できるはずなのですが、上手くいきません
参考書はVC++逆引き大辞典です
どうしたらいいでしょうか?
0095デフォルトの名無しさん
2010/02/11(木) 22:23:290096デフォルトの名無しさん
2010/02/11(木) 22:44:42HTTP_QUERY_RAW_HEADERS_CRLFを指定してるのですが
どうも中に書き込まれた情報は2バイトコードになっているようです
この辺の文字コードを切り替えるにはどうすればいいのでしょうか?
009796
2010/02/11(木) 23:43:54参考にしたソースがwchar_tを前提にしてない古い物だったのが原因でした
0098デフォルトの名無しさん
2010/02/12(金) 01:06:37Win32 APIを使ってアプリケーション製作できる?
0099デフォルトの名無しさん
2010/02/12(金) 01:20:480100デフォルトの名無しさん
2010/02/12(金) 01:26:03サンクス!助かった
0101デフォルトの名無しさん
2010/02/12(金) 01:28:11勉強もかねてHTTPの要求ヘッダの中身がどうなってるかみたいのですが
どうやれば見れますかね?
0102デフォルトの名無しさん
2010/02/12(金) 01:31:270103デフォルトの名無しさん
2010/02/12(金) 01:33:38いいえ
そういうのじゃなくて2chの専ブラの通信部分ですね
http://www.monazilla.org/index.php?e=198
デバックもかねて上記のページに書かれてるようなヘッダーになってるかだけみれればいいんですが
0104デフォルトの名無しさん
2010/02/12(金) 01:35:08送信側も何か方法があるのかなあと思いまして
0105デフォルトの名無しさん
2010/02/12(金) 02:00:540106デフォルトの名無しさん
2010/02/12(金) 02:02:20パケットを見るプログラムじゃないか
0107デフォルトの名無しさん
2010/02/12(金) 02:06:11いや・・・そういう風に言われても勉強初めてすぐなのでよくわからないです
InternetOpen
InternetConnect
HttpOpenRequest
HttpSendRequest ←この段階で送るであろうデータさえ見れればよかったのですが
0108デフォルトの名無しさん
2010/02/12(金) 02:14:300109デフォルトの名無しさん
2010/02/12(金) 02:14:57proxy + log
0110デフォルトの名無しさん
2010/02/12(金) 02:17:25SendMessageで総当たりをすればどれにチェックが入っているのか分かりますがもっと良い方法はありませんか?
ラジオボタンがチェックされた時に生じる処理の中でそのハンドルを記憶させるようにしてみたのですが、
グループが複数あった場合にそれがどのグループのボタンなのか判断させる方法がわかりませんでした。
Borland C++ 5.5.1 for Win32を使っています。
0111110
2010/02/12(金) 02:20:56自己解決しました。
0112デフォルトの名無しさん
2010/02/12(金) 04:09:59ラジオボタンをクリックしたときにWM_COMMANDが発生しなくなってしまいました。
どうすれば再びそれが発生するようになりますか?
0113デフォルトの名無しさん
2010/02/12(金) 06:02:24ツリービューコントロールに関してなんですが、.NET には TreeNode.Level というノードの深さを取得するプロパティがあるのですが、
これに相当するようなノードの深さを取得できるような関数が標準APIにもあるのでしょうか?
それとも自分で組まないといけないのでしょうか?
ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.treenode.level(VS.80).aspx
0114デフォルトの名無しさん
2010/02/12(金) 06:06:17ってあるからC++/CLIの話かね・・・
というかWTLやMFCって.netと比べるとかなり見劣りするからなあ
.net環境で作ってていきなりネイティブC++とかいくと部品の陳腐さに泣きそうになる
0115113
2010/02/12(金) 06:27:51すみません説明不足でした。PlatformSDKのことです。
第115章 ツリービューにメニューをつける
ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_115.htm
↑このサイトを参考に組んでいたんですが、ツリービューの項目の深さを取得しようと思い、
調べていたところにちょうどそのページを見つけたので質問しました。
0116デフォルトの名無しさん
2010/02/12(金) 08:02:58作るにはTVM_GETNEXTITEMかな
0117デフォルトの名無しさん
2010/02/12(金) 09:40:02修羅の国では外部コンポーネント、サービスの利用方法や足りない部品は全部自力調達ですよ( ^ω^)
先輩・・・.NETしたいです
0118デフォルトの名無しさん
2010/02/12(金) 09:43:45お前は一生修羅の国から出さん
0119デフォルトの名無しさん
2010/02/12(金) 09:44:580120デフォルトの名無しさん
2010/02/12(金) 09:53:390121デフォルトの名無しさん
2010/02/12(金) 10:06:37いや C++ が糞なおかげで
Rupy や Python が生まれたと思う
C++ の出来が良かったらきっと
そいつらは生まれていなかった
0122デフォルトの名無しさん
2010/02/12(金) 10:09:510123デフォルトの名無しさん
2010/02/12(金) 10:11:200124デフォルトの名無しさん
2010/02/12(金) 10:11:530125デフォルトの名無しさん
2010/02/12(金) 10:13:180126デフォルトの名無しさん
2010/02/12(金) 10:15:47今時のライブラリでデフォルトUTFじゃないとか死ね
0127112
2010/02/12(金) 14:29:15ソース等アップロードしました。よろしくお願いします。
http://www1.axfc.net/uploader/Sc/so/82145.zip
0128デフォルトの名無しさん
2010/02/12(金) 14:54:070129デフォルトの名無しさん
2010/02/12(金) 14:56:22了解
0130デフォルトの名無しさん
2010/02/12(金) 19:15:49ttp://msdn.microsoft.com/ja-jp/windows/ee426939.aspx
Ex1とEx2は開いたウィンドウを移動するかアイコンにして戻すかしないと文字が出ないし、
Ex3は黒ベタで何も出ないです。環境はWin7 x64なんですが、ちゃんと表示されてる人います?
0132デフォルトの名無しさん
2010/02/12(金) 20:04:07とC++のTreeView調べてたらアイテムの構造体ってろくな情報埋め込めないなw
typedef struct _TV_INSERTSTRUCT {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
TV_ITEM item;
} TV_INSERTSTRUCT, FAR* LPTV_INSERTSTRUCT;
自分で同じような複製ツリーを作ってそっちで管理してみたら?
0133デフォルトの名無しさん
2010/02/12(金) 20:08:55UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TV_ITEM, FAR *LPTV_ITEM;
こっちもあるけどノード登録の際の連絡用とか検索ででてくるなあ
0134デフォルトの名無しさん
2010/02/12(金) 20:34:17http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl10-06/index.html
http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl10-07/index.html
0135デフォルトの名無しさん
2010/02/12(金) 20:41:52おいこらTVITEMの中身見ろw
大体win32がヘボかったら.netもヘボくなるわけで・・・どっちも同じコモンコントロールなわけで
0136113
2010/02/12(金) 21:10:43>>133
>>134
>>135
親:0 子:1 孫:2 という深度レベルを項目ごとのTVITEMのlParamに格納すればできそうですね!
本当にありがとうございました!
0137デフォルトの名無しさん
2010/02/13(土) 21:17:25メイン・ウィンドウのメニューから[設定]なとの項目をクリックして、
タブコントロールのウィンドウをポップ・アップさせる場合の手順は、
1)CreateWindowEX でタブ・コントロールの親ウィンドウ (hwndParent) を作成.
2)hwndParent の子ウィンドウとして CreateWindowEX でタブ・コントロールを作成.
するという手順になると思うのですが、ここで、タブ・コントロールを操作する
メッセージなどを処理するプロシージャ−が必要になります。ところが、
CreateWindowEX にはご存知のとおりプロシージャ−関数を受け取る引数はありません、、、
ということは、hwndParent にメッセージ・ループを作らざろうえず、メイン・ウィンドウの
メッセージ・ループと”競合?”してしまうので、
A)hwndParent はスレッドを作って、そこでメッセージ・ループを回す???
という、プログラミング・スタイルになると思うのですが、違いますが???
当方、初心者でして、ズバリご指摘おねがいします。
タブ・コントロールに限らず、ダイアログ・テンプレートを使わずに
メイン・ウィンドウからコントロールの Owned ポップアップ・ウィンドウを開く場合
の手順は、どうなるのでしょう???
0138デフォルトの名無しさん
2010/02/13(土) 21:42:53タブコントロールからのメッセージはその親ウィンドウにWM_NOTIFYとして飛んでくるので
すべて親ウィンドウのプロシージャで処理できる
それと、ウィンドウプロシージャはCreateWindowExでなくウィンドウクラスで設定してそれをCreate〜に渡してる
タブコントロールのウィンドウプロシージャはWindowsが持ってるのでそっちに全部お任せ
これはタブコントロールに限らずどんなコントロールでも同じなので
プログラムを作る側は親ウィンドウのプロシージャのことだけ考えればいい
0139デフォルトの名無しさん
2010/02/13(土) 22:05:23どうしたらいいのですか?
0140デフォルトの名無しさん
2010/02/13(土) 22:09:15『タブコントロールからのメッセージはその親ウィンドウにWM_NOTIFYとして飛んでくる』
とのことですが、タブコントロール単独でポップ・アップ・ウィンドウをつくれるのでしょうか?
タブコントロール単独でポップ・アップさせようとすると移動もサイズ変更も閉じることもできません、、、
タブコントロールを子ウィンドウとしてポップ・アップさせると、メッセージはタブコントロールの
親に行くのですが、その「親」≠「メインウィンドウ」なので、タブコントロールの「親」に、メッセージを
受け取るプロシージャ−が必要になるのではないですか???
自分はなにか、根本的なところで勘違いをしていると感じるのですが、それが「何か」がわからない
ところが、トホホな現状です。 (T皿T)
0141デフォルトの名無しさん
2010/02/13(土) 22:10:000142デフォルトの名無しさん
2010/02/13(土) 22:14:27親ウィンドウはあなたが>>137で言っていたhwndParentだよ
メインウィンドウを親としてhwndParentを作ってタブをhwndParentの子ウィンドウにする
hwndParentを自分でウィンドウクラスを登録するなりして作成すれば、そのウィンドウプロシージャは自分で管理できる
0143デフォルトの名無しさん
2010/02/13(土) 22:17:57そんなのありえないことくらい、普通わかるだろ?
0144デフォルトの名無しさん
2010/02/13(土) 23:36:27自分が作ろうとしていたのは、『プロパティシート』であって、『タブコントロール』では
ありませんでした、、、、、、 orz。
どうもおかしい、なにか変だと思っていましたが、『プロパティシート』を『タブコントロール』と
”根本的に勘違い”してました。お騒がせしました。
0145デフォルトの名無しさん
2010/02/14(日) 04:36:240146デフォルトの名無しさん
2010/02/14(日) 04:37:260147デフォルトの名無しさん
2010/02/14(日) 04:48:020148デフォルトの名無しさん
2010/02/14(日) 11:34:440149デフォルトの名無しさん
2010/02/14(日) 12:42:060150デフォルトの名無しさん
2010/02/14(日) 16:52:460151デフォルトの名無しさん
2010/02/14(日) 21:23:59HCURSOR cur = SetCursor(LoadCursor(NULL,IDC_WAIT));
とやってもカーソルがかわらないです。
0152デフォルトの名無しさん
2010/02/14(日) 22:36:150153デフォルトの名無しさん
2010/02/14(日) 23:34:42したあとはWM_SETCURSORでreturn 0;するようにしたけど
状況かわらずでした。
0154デフォルトの名無しさん
2010/02/14(日) 23:38:35>ようにカーソルを設定する場合には、指定されたウ
>ィンドウのウィンドウクラスで設定されるクラスカ
>ーソルが 0 (NULL) になるようにします。クラス
>カーソルが 0 (NULL) でない場合、システムはカー
>ソルが動かされるたびにクラスカーソルに戻します。
http://yokohama.cool.ne.jp/chokuto/urawaza/api/SetCursor.html
0155デフォルトの名無しさん
2010/02/15(月) 00:11:43デフォルトで表示するカーソルはなしにしておいて
WM_SETCURSORの都度表示するカーソルを任意に指定するってことね
脳みそ足りなくて理解に時間がかかりますた
0156デフォルトの名無しさん
2010/02/15(月) 01:08:340157デフォルトの名無しさん
2010/02/15(月) 19:59:11APIがあったと思うんですが名前を忘れてしまいました。
ご存じの方いらっしゃいませんか?
やりたいことは実行時にコードを書換えながら実行するというようなことです。
0158デフォルトの名無しさん
2010/02/15(月) 20:04:450159デフォルトの名無しさん
2010/02/15(月) 20:10:030160デフォルトの名無しさん
2010/02/15(月) 20:10:53そのまますぎて吹いた orz
ありがとうございます
0161デフォルトの名無しさん
2010/02/15(月) 20:17:10ヒープのスナップショット取って合算するくらいしか思いつかない
0163デフォルトの名無しさん
2010/02/15(月) 23:11:06それともウィンドウに直接”描画?”してるのでしょうか??
後者の場合、マウスでハイライト選択するのは、どうやって実現しているのでしょうか。
マウスの押し下げメッセージを捕らえるとして、どんな関数を使うのでしょう?
0164デフォルトの名無しさん
2010/02/15(月) 23:23:140165デフォルトの名無しさん
2010/02/15(月) 23:56:38CreateToolhelp32SnapshotのTH32CS_SNAPMODULEを指定して実行したら
エラーになるんですが、何か心あたりがある方はいますか?
0166デフォルトの名無しさん
2010/02/16(火) 00:02:54HTMLでクリッカブルマップ辺りを使ったページを
作ってみると「霊感(インスピレーション)」を得れるかも
0167デフォルトの名無しさん
2010/02/16(火) 00:03:560168デフォルトの名無しさん
2010/02/16(火) 11:12:25マウスのY座標からそこが何行目かを計算する (例えばフォントの高さで割るとか)
マウスのX座標と行数からそこが何文字目かを計算する (例えば行中の文字幅を1文字ずつ数えるとか)
求めた位置に基づいて選択範囲を保持する変数を変更し、その部分を再描画する
各文字を描画するとき選択範囲内だったらその文字は背景色付きで描き、選択範囲外だったら普通に描く
およそこんな感じ
0169163
2010/02/16(火) 15:07:49…、すごい”低レベル”なことをするんですね。C言語ではじめて文字列操作を
やろうとした頃を思い出しました。
0170デフォルトの名無しさん
2010/02/16(火) 15:12:54全て同じような手順で実現されてるんじゃないの?
0171デフォルトの名無しさん
2010/02/16(火) 15:26:020172デフォルトの名無しさん
2010/02/16(火) 15:58:320173デフォルトの名無しさん
2010/02/16(火) 16:07:04そういう無意味に煽るだけのレスは、せめてどのレスに向けたものか示しておけよ。
0174デフォルトの名無しさん
2010/02/16(火) 16:13:23知らないならレスしないで下さい。ウザイだけです。。。
0175デフォルトの名無しさん
2010/02/16(火) 16:19:25コンソールアプリを起動してAttachConsole
0176デフォルトの名無しさん
2010/02/16(火) 23:06:55ありがとうございました。
0177デフォルトの名無しさん
2010/02/17(水) 15:33:54立体的なデザインにするには?
0178デフォルトの名無しさん
2010/02/17(水) 15:56:11最大の敵は垂直スクロールバーとウィンドウ幅に合わせた行折り返し
0179デフォルトの名無しさん
2010/02/17(水) 17:20:510180デフォルトの名無しさん
2010/02/17(水) 18:40:120181デフォルトの名無しさん
2010/02/17(水) 20:20:250182デフォルトの名無しさん
2010/02/17(水) 20:21:48まあListと同じで部品化すれば問題ないか
0183デフォルトの名無しさん
2010/02/17(水) 22:55:56秀丸みたいに内部データ管理から画面描画まで全部作って実用的な速度で動かすのはかなり大変
まあ最近はCPUが速いしメモリも大量に積んでるから、そういう環境限定なら難易度は下がるけど
0184デフォルトの名無しさん
2010/02/17(水) 23:30:23の製品開発は、遅いプロセッサで負荷をかけた状態でテストされ
プロトタイプが出来てからも何回も書き直される。
速いマシンで製品レベルのものが作れるのは余程の経験者か天才。
0185デフォルトの名無しさん
2010/02/17(水) 23:35:360186デフォルトの名無しさん
2010/02/17(水) 23:57:10>>178の言ってることはわかるような気がするよ、場合分け増えるし
たとえば一行が長くて折り返しがある行の時に右端にカーソルがある時
折り返す前の行の右端と折り返した後の行の左端は(ドキュメント的には)同じ位置
しかし画面では別の位置なのでカーソルを移動させたときに
前行の一文字手前で次の行にいくか、
次行の先頭行の最初の位置にカーソルがいかないようにするか
改行で表示行が変わってるときとでは動作が異なるから場合分けが増える
この辺ソフトによって動作が違ってて、GreenPadは後者、Terapadは前者だった
0187デフォルトの名無しさん
2010/02/18(木) 07:41:170188デフォルトの名無しさん
2010/02/18(木) 08:43:330189デフォルトの名無しさん
2010/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)
}
*****************
0190デフォルトの名無しさん
2010/02/18(木) 17:43:10スレ違いと分かってて質問するなよ
0191デフォルトの名無しさん
2010/02/18(木) 18:35:310192デフォルトの名無しさん
2010/02/18(木) 18:45:010193デフォルトの名無しさん
2010/02/18(木) 18:57:090194デフォルトの名無しさん
2010/02/18(木) 20:39:030195デフォルトの名無しさん
2010/02/18(木) 21:38:49>整合性が取れてる
の意味がわかりません
0196デフォルトの名無しさん
2010/02/18(木) 22:09:570197デフォルトの名無しさん
2010/02/19(金) 01:47:470198デフォルトの名無しさん
2010/02/19(金) 08:55:470199デフォルトの名無しさん
2010/02/19(金) 09:50:19まともな質問の回答はMSDNに書いてある
MSDNに回答が無い質問は環境依存
0200デフォルトの名無しさん
2010/02/19(金) 10:02:060201デフォルトの名無しさん
2010/02/19(金) 11:28:26それマジで言ったん?ソースあんならすぐ出せ
マジなら2ちゃんねら総力を上げて潰すが
0202デフォルトの名無しさん
2010/02/19(金) 11:30:080203デフォルトの名無しさん
2010/02/19(金) 11:31:54今ふと思ったが
妙に「ねらー」とか「2ちゃんねら」とか言うの多いな
なんつうかν速慣れしてなそうな感じの
0204デフォルトの名無しさん
2010/02/19(金) 11:36:400205デフォルトの名無しさん
2010/02/19(金) 11:44:390206デフォルトの名無しさん
2010/02/19(金) 11:53:210207デフォルトの名無しさん
2010/02/19(金) 12:10:120208デフォルトの名無しさん
2010/02/19(金) 12:11:200209デフォルトの名無しさん
2010/02/19(金) 13:15:180210デフォルトの名無しさん
2010/02/19(金) 17:27:270211デフォルトの名無しさん
2010/02/19(金) 18:42:300212デフォルトの名無しさん
2010/02/19(金) 18:49:20ステータスバーに表示された文字が再描画されないんですが
どうしたらいいの?
0213デフォルトの名無しさん
2010/02/19(金) 21:44:360214デフォルトの名無しさん
2010/02/19(金) 21:45:57それでは質問させてください。
Windows Vista以降で、タイトルバーに3つのシステムボタンに加えて独自のボタンを自分のアプリのウィンドウに表示したいのですが、
どういう風に書けばいいでしょうか?
C#で書いてますが、C/C++の書き方で構いません。
0215デフォルトの名無しさん
2010/02/19(金) 22:14:500216デフォルトの名無しさん
2010/02/19(金) 22:18:40それは最初に試しましたが、
Aeroが有効時にはDefWindowProcの呼び出しで完全に描画されてしまい、
その後から書いても書き込んだ内容が見えません。
0217デフォルトの名無しさん
2010/02/19(金) 22:27:550218デフォルトの名無しさん
2010/02/19(金) 22:57:08Altキーはメニューが受け取るようにWindows自体が作られているから、
そういうショートカットキーは避けた方がいいんじゃね?
0219デフォルトの名無しさん
2010/02/19(金) 22:59:19BITMAP作ってリソース読み込めばいいんじゃない?
0220デフォルトの名無しさん
2010/02/19(金) 23:01:53おっしゃることがよく分かりません。
タイトルバーをなるべくOS標準のまま、必要最小限のカスタマイズをしたいのですが。
描画さえちゃんとできれば、クリックの受け取りはさほど難しくなさそうです。
0221デフォルトの名無しさん
2010/02/19(金) 23:30:54ツールバーと勘違いしてた
0222デフォルトの名無しさん
2010/02/20(土) 00:18:36http://msdn.microsoft.com/en-us/library/bb688195(VS.85).aspx
これの「Drawing in the Extended Frame Window」のところ。
DWM (Aero)環境下で、ウィンドウ全体をクライアント領域にするという方法がある。
これで、ウィンドウ全体を好きに描画できるようになる。
引き替えに、WM_NCHITTESTを自分で処理しなければいけないのが面倒。
その記事にもあるように、MS Office 2007も
これを使ってタイトルバー部分に食い込んで描画している。
0223デフォルトの名無しさん
2010/02/20(土) 00:47:18独自のボーダー(ボタン付き)にする。
クライアント領域は下のウィンドウをそのまま
書く。(Timerで定期的に下のウィンドウの更新を
チェック。自分のウィンドウに来たメッセージは
下のWindowに当然SEND)
この方法ってWindowが動いた時とかサイズが変わった
時、ちょっとみっともないこともなくもないけど
手軽でイくね?(もちょっとイイ小技もあるらしいが)
0224デフォルトの名無しさん
2010/02/20(土) 02:25:01おおっ! これぞドンピシャ!
しかし紹介いただいたサンプルを動かしてみてるところですが、
挙動が摩訶不思議でまだ大意がつかめてません。
(特にウィンドウメニューと組み合わせると……)
コードだけじゃなくて記事本文も読まないといけないみたい。
でもこの延長線上でなんとかなりそうです。フレームの挙動がちゃんと変わってるし。
>>223
そういう方法もありだとは思います。GOMプレーヤーとかスキンを活用する系統では
そちらの方が逆にスマートかもしれないし。
でも面倒くさそう……。
今予定してるのはボタンを1個追加するだけなので。
0225デフォルトの名無しさん
2010/02/20(土) 12:28:030226デフォルトの名無しさん
2010/02/20(土) 12:30:400227デフォルトの名無しさん
2010/02/20(土) 13:01:170228デフォルトの名無しさん
2010/02/20(土) 13:09:470229デフォルトの名無しさん
2010/02/20(土) 13:16:57半角はアスキーコード互換、全角用もアスキーコードの空き部分の
コードを利用してるだけなんだし
0230デフォルトの名無しさん
2010/02/20(土) 13:38:43IsDBCSLeadByteEx
0232デフォルトの名無しさん
2010/02/20(土) 13:57:30APIでは、どうするのです。か
0233デフォルトの名無しさん
2010/02/20(土) 14:18:500234デフォルトの名無しさん
2010/02/20(土) 15:39:15あとは・・正しい日本語の使い方日本語をお願いします。
0235デフォルトの名無しさん
2010/02/20(土) 16:58:41MultiElemNumが英語になっていない。Complexが正しい。
0236デフォルトの名無しさん
2010/02/20(土) 18:17:54もしかして「適切な訳語」のことを言いたかったのか
0237デフォルトの名無しさん
2010/02/20(土) 18:29:02マルチすんな
0238デフォルトの名無しさん
2010/02/20(土) 18:29:170239デフォルトの名無しさん
2010/02/20(土) 18:36:080240デフォルトの名無しさん
2010/02/20(土) 18:37:460241デフォルトの名無しさん
2010/02/20(土) 18:38:100242デフォルトの名無しさん
2010/02/20(土) 18:41:430243デフォルトの名無しさん
2010/02/20(土) 18:44:32そういう人間がそうそう近い時間に複数来るってのは無いしな
0244デフォルトの名無しさん
2010/02/20(土) 18:47:08241は239当てな。
0245デフォルトの名無しさん
2010/02/20(土) 18:48:500246デフォルトの名無しさん
2010/02/20(土) 18:51:26そういう人間がそうそう近い時に複数来るってのは無いしな
0247デフォルトの名無しさん
2010/02/20(土) 18:52:09いや、「開き直って」とか言われたから、何考えてるんだろうと思って、241のレスしただけのこと。
0248デフォルトの名無しさん
2010/02/20(土) 18:53:220249デフォルトの名無しさん
2010/02/20(土) 18:56:450250デフォルトの名無しさん
2010/02/20(土) 19:06:380251デフォルトの名無しさん
2010/02/20(土) 19:11:070252デフォルトの名無しさん
2010/02/20(土) 19:19:060253デフォルトの名無しさん
2010/02/20(土) 19:21:56API
0254デフォルトの名無しさん
2010/02/20(土) 19:49:39API
0255デフォルトの名無しさん
2010/02/20(土) 20:02:23あぴ
0256デフォルトの名無しさん
2010/02/20(土) 20:16:19AIP
0257デフォルトの名無しさん
2010/02/20(土) 20:41:530258デフォルトの名無しさん
2010/02/20(土) 20:42:360259デフォルトの名無しさん
2010/02/20(土) 20:43:14そういうのはID出る板でスレ立ててやれ
ここじゃ一生apiなんて出ないぞ
0260デフォルトの名無しさん
2010/02/20(土) 22:01:040261デフォルトの名無しさん
2010/02/21(日) 05:28:41LPCWSTR型の文字列を返却する関数を、
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;
}
0262デフォルトの名無しさん
2010/02/21(日) 05:33:41malloc 汁
0263デフォルトの名無しさん
2010/02/21(日) 05:34:14これはマルチバイト
wchar_t pwsz
これはワイド文字
文字コードが違う
MultiByteToWideChar
これはマルチバイトからワイド文字に変換する関数?
0264デフォルトの名無しさん
2010/02/21(日) 05:36:00pwszは非静的な局所変数なので、returnした時点で無効になる。
0265デフォルトの名無しさん
2010/02/21(日) 05:37:42wchar_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;
}
0266デフォルトの名無しさん
2010/02/21(日) 05:57:190267デフォルトの名無しさん
2010/02/21(日) 08:23:56|/__
ヽ| l l│<ハーイ
┷┷┷
0268デフォルトの名無しさん
2010/02/21(日) 09:05:420269デフォルトの名無しさん
2010/02/21(日) 12:42:28スレ違い。C言語質問スレに池
0270デフォルトの名無しさん
2010/02/21(日) 13:01:11関数の中身は全く同一で、親ウィンドウのハンドルにグローバル変数を使うのと、関数の
引数を使うのとでは、作成されるツールバーの表示が (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)
}
0271デフォルトの名無しさん
2010/02/21(日) 13:25:42WinMain() とは別の C ファイルです。
vdCreateToolBar(VOID) の g_hMain は extern で取得してます。
0272デフォルトの名無しさん
2010/02/21(日) 13:26:510273デフォルトの名無しさん
2010/02/21(日) 13:30:430274デフォルトの名無しさん
2010/02/21(日) 14:30:180275デフォルトの名無しさん
2010/02/21(日) 15:30:420276デフォルトの名無しさん
2010/02/21(日) 15:33:160277デフォルトの名無しさん
2010/02/21(日) 15:57:28キャスト用のAPIなんてない
>>275
ある可能性は否定できないんじゃない?
>>276
最悪の場合、期待どおりの動作にならない
0278デフォルトの名無しさん
2010/02/21(日) 16:01:18キャストなんて
「俺(プログラム書いてる人)は型が違うのわかってて書いてる
からお前(コンパイラ)は気にしなくていいよ。」と教えてるだけなのに
(厳密にはいろいろあるようだが
0279デフォルトの名無しさん
2010/02/21(日) 16:46:440280デフォルトの名無しさん
2010/02/21(日) 16:51:06事実そうじゃん
関数の引数でconst char* hogeとかやるけどあれだって
書き換えするようなコードを書かないようにする安全策なだけだし
アセンブラレベルで考えればconst とか知ったことじゃねえって
感じだしなあ
0281デフォルトの名無しさん
2010/02/21(日) 16:55:52人間が読むのに、わざわざキャストしてどうすんの
0282デフォルトの名無しさん
2010/02/21(日) 17:27:590283デフォルトの名無しさん
2010/02/21(日) 17:29:25あるなら紹介してあげなよ。
0284デフォルトの名無しさん
2010/02/21(日) 17:40:11俺は逆で型変換でキャストなしソースのほうが読みにくくて初心者乙だなぁ
コンパイラの警告レベル上げたとたん警告が何百も出てくるとかだせぇってなる
0285デフォルトの名無しさん
2010/02/21(日) 17:44:220286270
2010/02/21(日) 17:44:25引数渡しでも、ツールバーの動作が”不安定?”になります。
原因のヒントだけでも、ないでしょうか…、、、、
0287デフォルトの名無しさん
2010/02/21(日) 17:45:36ソースもなんも出さずに。
0288デフォルトの名無しさん
2010/02/21(日) 17:48:230289デフォルトの名無しさん
2010/02/21(日) 17:56:090290デフォルトの名無しさん
2010/02/21(日) 17:57:150291デフォルトの名無しさん
2010/02/21(日) 18:00:020292デフォルトの名無しさん
2010/02/21(日) 18:04:480293デフォルトの名無しさん
2010/02/21(日) 18:08:150294デフォルトの名無しさん
2010/02/21(日) 18:10:340295デフォルトの名無しさん
2010/02/21(日) 18:14:41▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █
▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █
█▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █
█▄ █ ▄█ █▀▀█ █ █▄
▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀
▄▄▄▄▄▄ ▄▄▄
▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █
█▀ █ ▀▀█▀ ▀▄
█ █▀▀▀ █ █▄ ▀
█▄▄▄ █ ▄▄▄ ▀▀
▀ ▀▀▀
0296デフォルトの名無しさん
2010/02/21(日) 18:17:060297デフォルトの名無しさん
2010/02/21(日) 18:17:560298デフォルトの名無しさん
2010/02/21(日) 18:23:230299デフォルトの名無しさん
2010/02/22(月) 00:31:390300デフォルトの名無しさん
2010/02/22(月) 00:40:040301デフォルトの名無しさん
2010/02/22(月) 09:01:370302デフォルトの名無しさん
2010/02/22(月) 09:48:550303デフォルトの名無しさん
2010/02/23(火) 01:52:16透明になるべき部分が真っ黒になってしまいます。
Image::GetPixelFormat()でARGBではなくRGB形式となってました。
LoadImageで読み込んだ後、GetObjectで生データを取り出して
ARGB形式での生成も試したのですが
生成はできたもの描画ができない状態です。
LoadImageとAlphaBlendではうまくできたのですが‥‥
GDI+でアルファ値のbmpは駄目なのでしょうか?
0304デフォルトの名無しさん
2010/02/23(火) 01:55:02本気でアルファを考えるならpngを読ませないとだめなんじゃないの?
0305デフォルトの名無しさん
2010/02/23(火) 01:56:27bmpの32bitのアルファにあたる部分はそもそもリザーブになってるはず
0306デフォルトの名無しさん
2010/02/23(火) 02:54:46そもそもARGBなフォーマットがBITMAP形式では定義されてない。
0307デフォルトの名無しさん
2010/02/23(火) 03:22:16ヘッダをBITMAPV4HEADERにしてもGDI+では駄目でした。
LoadImage/AlphaBlendを使うか、GDI+/pngで行く事にします。
0308デフォルトの名無しさん
2010/02/23(火) 04:19:49vistaとか7のペイントは知らんけど、xpのペイントはアルファをきっちり潰してくれるしな・・・
そういう状況を見るとサポートしてないと考えるしかないだろ
それにpngがあるんだしわざわざbmpがサポートする必要もないしな
0309デフォルトの名無しさん
2010/02/23(火) 08:41:52ビットマップの場合は「この色だけ描画しない」って指定してやって、
画像側ではなくアプリケーション側で透明度を調節するタイプじゃね?
0310デフォルトの名無しさん
2010/02/23(火) 10:15:51カラーキーは別に後でも指定できるはずだよ
一時期のゲームなのどでは原色の緑をカラーキーに使ったりしてたはず
0311デフォルトの名無しさん
2010/02/23(火) 11:23:120312デフォルトの名無しさん
2010/02/23(火) 11:36:550313デフォルトの名無しさん
2010/02/23(火) 11:38:46つ ぐぐれカス
0314デフォルトの名無しさん
2010/02/23(火) 12:34:410315デフォルトの名無しさん
2010/02/23(火) 13:11:53つ 鏡
0316デフォルトの名無しさん
2010/02/23(火) 13:29:140317デフォルトの名無しさん
2010/02/23(火) 19:24:13ペイントが出力するファイルもWin3.1のビットマップ形式でした。
BITMAPV4HEADER.bV4AlphaMask
BITMAPV5HEADER.bV5AlphaMask
Win9xの時からこういうのがあったもんで、てっきりOKかと思ってました。
腑に落ちなかったので、あれからいろいろ試していましたが
自前でbmpファイルを読み込み、生データをARGB形式として
直接GDI+に食わす方法が一番でした。
0318デフォルトの名無しさん
2010/02/23(火) 19:40:36別にそれでいいというのなら止めはしないけど、
正しい方法が分かってるなら正しい方法を採った方がいいよ。
BITMAPがARGBを正式にサポートしてないことには変わりがないので、
TIFFやPNGなど正式にサポートしている画像形式を使うのがこの場合は正しい。
最初にも言ったけど、動けばいい、という態度なら止めはしない。
0319デフォルトの名無しさん
2010/02/23(火) 19:50:10ttp://msdn.microsoft.com/en-us/library/dd183380(VS.85).aspx
ttp://msdn.microsoft.com/en-us/library/dd183381(VS.85).aspx
Photoshopの起動ロゴのような変形レイヤードウィンドウも
アルファチャンネルのあるビットマップを使うみたいだし‥‥
ttp://www.yoshibaworks.com/Ayacy/INASOFT/wpt/ulw.html
0320デフォルトの名無しさん
2010/02/23(火) 19:57:35そもそもビットマップ形式自体が変化してないからでは?
そこが変わっちゃうと互換性問題が強く出る気がする。
それが指してるアルファマスクって、二値の情報で黒いところだけマスクする奴じゃね?
0321デフォルトの名無しさん
2010/02/23(火) 22:55:36>The high byte in each DWORD is not used.
これどういう意味
0322デフォルトの名無しさん
2010/02/23(火) 23:08:0732bitの色情報を格納する構造体RGBQUADを調べてみるといいよ
ヘッダにアルファの文字があっても多分古い規格のカラーキーについてだと思うよ
pngのような最大で1バイトまるまるアルファとかはサポートしてないはず
0323デフォルトの名無しさん
2010/02/23(火) 23:14:23pngだって所定のデコード処理を施せばメモリ上に置かれてるのはbmpと同等だよ
0324デフォルトの名無しさん
2010/02/23(火) 23:23:24後半に関してはDIBにはAlphaがあるがBITMAPにはAlphaが無いってだけ
GDI+の内部では元が何であろうがDIBで扱ってるからAlphaがないと困る
http://msdn.microsoft.com/en-us/library/ms534412%28VS.85%29.aspx
0325デフォルトの名無しさん
2010/02/23(火) 23:29:340326デフォルトの名無しさん
2010/02/24(水) 00:12:540327デフォルトの名無しさん
2010/02/24(水) 00:19:460328デフォルトの名無しさん
2010/02/24(水) 00:23:01なんか業界団体はRGBで96bit目指してるらしいけど…。
0329デフォルトの名無しさん
2010/02/24(水) 00:24:350330デフォルトの名無しさん
2010/02/24(水) 00:34:04そういう分野では必要なのかも。
0331デフォルトの名無しさん
2010/02/24(水) 00:48:45なるほどな
0332デフォルトの名無しさん
2010/02/24(水) 02:14:10キャストを全然つけなくてちょいちょい泣いてるのが初心者
泣きたくないのでキャストつけまくるのがトラウマを抱えた初心者
大人になれば必要なとこだけキャストをつけるようになるよ
0333デフォルトの名無しさん
2010/02/24(水) 06:43:301つのダイアログごとにプロシージャを別にすることは出来ないの?
0334デフォルトの名無しさん
2010/02/24(水) 08:53:47↓
ttp://msdn.microsoft.com/ja-jp/library/cc410690.aspx
0335デフォルトの名無しさん
2010/02/24(水) 10:19:030336デフォルトの名無しさん
2010/02/24(水) 11:02:010337デフォルトの名無しさん
2010/02/24(水) 11:21:01>>336 UrlEscape
ここに書き込むより自分で探した方が早いはず
0338デフォルトの名無しさん
2010/02/24(水) 11:28:35本当にモノクロなら
16bitでは重複が許されないが
32bitのBI_BITFIELDSならRedMaskとGreenMaskとBlueMaskに同じ値をセットするだけで規格上は問題ないはずなのだが
0339デフォルトの名無しさん
2010/02/24(水) 12:20:500340デフォルトの名無しさん
2010/02/24(水) 14:04:39当方VB.NETが使えます。
0341デフォルトの名無しさん
2010/02/24(水) 14:10:110342デフォルトの名無しさん
2010/02/24(水) 14:11:22http://www.nicovideo.jp/watch/sm8517855
0343デフォルトの名無しさん
2010/02/24(水) 14:12:38ありがとうございます。
SnmpSetVbはwsnmp32.dllを使うみたいでこのdllは発見したのですが
これのヘッダーファイルはどこにあるのでしょうか?
0344デフォルトの名無しさん
2010/02/24(水) 14:15:29そのものズバリWinSnmp.hだよ、PlatformSDKのディレクトリにあるよ
0345デフォルトの名無しさん
2010/02/24(水) 14:32:58http://www.google.co.jp/
このサイトなら3時間かからん
0346デフォルトの名無しさん
2010/02/24(水) 14:49:410347デフォルトの名無しさん
2010/02/24(水) 15:48:41ありがとうございます。
C++Builderを使っているのですが、WinSnmp.hを発見しました。
libは発見済みだったのでこれでリンクもできます。
すみません、最後にSnmpSetVbとかの関数の使い方を書いてるサイトありますか?
初期化とか使うまでの一連の流れというか・・・
0348デフォルトの名無しさん
2010/02/24(水) 15:58:330349デフォルトの名無しさん
2010/02/24(水) 16:25:180350デフォルトの名無しさん
2010/02/24(水) 16:25:410351デフォルトの名無しさん
2010/02/24(水) 16:54:020352デフォルトの名無しさん
2010/02/24(水) 16:56:30>>346で、msdnみなよ、といわれ、懲りずに質問をし
>>348で、msdnへのリンクを貼られた
>>335は次に英語がよく分からないです。一連の流れのサンプルはないですか?と聞く。
0353デフォルトの名無しさん
2010/02/24(水) 17:52:01ここって質問スレだよなwwwwwwwwwwwwww
よく>>352みたいなクズが沸くけどなんだろうなw
つーかもうこのスレいらなくね?
誰かが質問したらググれしか言わない奴が張り付いてるし
珍しく誰かが答えたら基地外が沸くしw
0354デフォルトの名無しさん
2010/02/24(水) 17:54:030355デフォルトの名無しさん
2010/02/24(水) 17:54:35このスレも酷くなったもんだよなあ
0356デフォルトの名無しさん
2010/02/24(水) 18:40:43そんなこといったら2ちゃんがいらないってことになる
実際いらないけどw
0357デフォルトの名無しさん
2010/02/24(水) 18:44:43人生無駄に削ってくれとしか言えんな( ´ω`)
0358デフォルトの名無しさん
2010/02/24(水) 19:25:12Visual 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関数が使えないのは
どうしてなのでしょうか?ご教授お願いいたします。
0359デフォルトの名無しさん
2010/02/24(水) 19:28:020360358
2010/02/24(水) 19:36:11ありがとうございます。
GetModuleHandleのエラー情報を取得する関数を調べる過程で、
kernel32.dll と karnel32.dll を見間違えていたことが分かりました。
GetModuleHandle(TEXT("kernel32.dll")) と修正したところ、
WOW64判定ができました。
簡単なミスでお恥ずかしいです。失礼します。
0361デフォルトの名無しさん
2010/02/24(水) 20:43:54処理が間に合わずプログラムが「応答なし」になるのですが、どうにか出来ませんか?
0362デフォルトの名無しさん
2010/02/24(水) 21:02:40ソースコードを晒せば?
0363デフォルトの名無しさん
2010/02/24(水) 21:33:44すみません、自己解決しました
スレ汚し本当に申し訳ないです
0364デフォルトの名無しさん
2010/02/24(水) 21:36:43MSDNのSnmpSetVbについてのページが見つからないので教えてください
0365デフォルトの名無しさん
2010/02/24(水) 22:26:30http://msdn.microsoft.com/en-us/library/aa378268%28VS.85%29.aspx
0366デフォルトの名無しさん
2010/02/24(水) 22:29:45のサンプルを動かしてみたんですが、デスクトップはできるものの、
新しいデスクトップ上にメッセージボックスが表示されません。
環境は Windows XP SP2 です。どうしてでしょうか?
0367デフォルトの名無しさん
2010/02/24(水) 22:49:49ありがとうございます。
がんばって読んでるのですが、難しいです。日本語のコメント付き使用例などはないのでしょうか。。
0368デフォルトの名無しさん
2010/02/24(水) 22:51:310369デフォルトの名無しさん
2010/02/24(水) 22:58:13夜間中学にでも入ってやり直せ。
0370デフォルトの名無しさん
2010/02/24(水) 23:04:56が読めない人のいるスレだからしょうがない。
0371デフォルトの名無しさん
2010/02/24(水) 23:07:03>>352
0372デフォルトの名無しさん
2010/02/24(水) 23:21:28>>353が変なこと書くから回答してもらえると思っちゃったんじゃないか?
0373デフォルトの名無しさん
2010/02/24(水) 23:32:520374デフォルトの名無しさん
2010/02/24(水) 23:44:48自己レス。SetThreadDesktop() が 170 で失敗してました。
ググって見ると、呼び出し元スレッドにウィンドウとかが存在するときは失敗するそうで。
前にうまくいったのは、コンソールアプリだったのを忘れてました・・・。
0375デフォルトの名無しさん
2010/02/25(木) 07:19:37その記述がBI_RGBの場合だけという事を理解できない人のいるスレだからしょうがない
0376デフォルトの名無しさん
2010/02/25(木) 14:44:17GetOpenFileName関数でコモンダイアログを用いた処理で、
ファイルを選択後、「開く(O)」ボタンを押した時、
そのファイルを判定し、有効ならばそのままダイアログを閉じ、
無効ならば、再度ファイルを促したいと思っています。
OFN_ENABLEHOOKを利用してフックし、WM_NOTIFYメッセージの時、
lpOfNotify->hdr.code == CDN_FILEOKの時に判定することまでは出来ました。
ここで、無効なファイルだった場合はCDN_FILEOKをキャンセルし、
「開く(O)」ボタンを押す前の状態に戻りたい場合、
どうするんでしょうか?
0377デフォルトの名無しさん
2010/02/25(木) 14:47:470378デフォルトの名無しさん
2010/02/25(木) 15:03:22普通にMSDNに書いてある方法では駄目なの?
http://msdn.microsoft.com/en-us/library/ms646931%28VS.85%29.aspx
0379デフォルトの名無しさん
2010/02/25(木) 15:11:310380デフォルトの名無しさん
2010/02/25(木) 15:35:27なにか良い方法無いでしょうか?
DragAcceptFilesで上から順に全部FLASEにしてみましたが、効果ありませんでした。
0381デフォルトの名無しさん
2010/02/25(木) 15:36:000382デフォルトの名無しさん
2010/02/25(木) 15:41:43何時間ぐぐっても見つからないので検索ワードだけでも教えてください。
0383デフォルトの名無しさん
2010/02/25(木) 15:45:43ほい
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt
0384デフォルトの名無しさん
2010/02/25(木) 15:49:09はい
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt
0385デフォルトの名無しさん
2010/02/25(木) 15:55:47どうやらドラッグアンドドロップについての文章じゃないようですね。
ソースコードをじっくり読んでみます。
0386デフォルトの名無しさん
2010/02/25(木) 16:05:24許せないところだけどな。
俺なんて目から血が出るくらいぐぐるからな。
0387デフォルトの名無しさん
2010/02/25(木) 16:09:500388デフォルトの名無しさん
2010/02/25(木) 16:10:530389デフォルトの名無しさん
2010/02/25(木) 16:11:160390デフォルトの名無しさん
2010/02/25(木) 16:19:590391デフォルトの名無しさん
2010/02/25(木) 22:05:040392デフォルトの名無しさん
2010/02/26(金) 00:03:590393デフォルトの名無しさん
2010/02/26(金) 00:10:330394デフォルトの名無しさん
2010/02/26(金) 00:10:580395デフォルトの名無しさん
2010/02/26(金) 00:17:450396デフォルトの名無しさん
2010/02/27(土) 04:00:07タスクマネージャーを監視しているとMessageBoxを呼び出すごとにGDIオブジェクトが増えているのですが、
これはいったいなぜでしょうか?
MessageBoxを呼び出して、たとえばMB_OKでOKを押させて消させた場合もGDIオブジェクトの数が減ることがありません。
非常に気になるので、MessageBoxを呼び出しおわったあとにGDIオブジェクトをクローズする方法を教えてもらえませんか?
0397デフォルトの名無しさん
2010/02/27(土) 04:18:440398デフォルトの名無しさん
2010/02/27(土) 04:27:290399デフォルトの名無しさん
2010/02/27(土) 05:01:500400デフォルトの名無しさん
2010/02/27(土) 05:22:330401デフォルトの名無しさん
2010/02/27(土) 11:42:290402デフォルトの名無しさん
2010/02/27(土) 17:23:500403デフォルトの名無しさん
2010/02/28(日) 06:04:33項目を追加するにはWM_INITDIALOG内で
SendDlgItemMessage(hDlg, コンボボックスの識別子, CB_ADDSTRING , 0 , (LPARAM)"text");
これでいいんだよな?
何も起こらないんだけど
0404デフォルトの名無しさん
2010/02/28(日) 10:54:05コンボボックスでもいけると思うが
まさかF4キーでドロップダウンしてないってオチじゃないよね
0405デフォルトの名無しさん
2010/02/28(日) 11:36:06コンボは追加されてないっぽい
0406デフォルトの名無しさん
2010/02/28(日) 14:58:120407デフォルトの名無しさん
2010/02/28(日) 21:08:08あとはSendMessageで試すとか
0408デフォルトの名無しさん
2010/03/01(月) 05:39:41トップレベルウィンドウとして扱うことって出来ないんでしょうか?
0409デフォルトの名無しさん
2010/03/01(月) 05:43:54WinMain以下でいきなりダイアログを開けば勝手にトップレベルウィンドウになると思うが?
0410デフォルトの名無しさん
2010/03/01(月) 05:51:37ようにクリップボードを定期的にクリアするサービスアプリケーション
を作ってるんだがどのようにすればいいか教えてくれないかい?
サイズが0のウィンドウを開いてタイマーを1秒に
設定して、1秒ごとにEmptyClipBoadを発行するものを
作ったんだが、タスクバーで右クリックすれば終了できて
しまうんだ。タスクバーにアプリケーション名を出さずに
実行するのはどのようにすればいい?
0411デフォルトの名無しさん
2010/03/01(月) 06:09:32そんなアプリを生徒に強制的に使わせるのはヤメレ。
0412デフォルトの名無しさん
2010/03/01(月) 06:18:17悪意無しで本当にコピペしたいって時はどうさせるのですか先生
0413デフォルトの名無しさん
2010/03/01(月) 06:26:07それなんてウィルス
0414デフォルトの名無しさん
2010/03/01(月) 06:28:380415410
2010/03/01(月) 06:45:04自前のクリップボードビューワーのついたテキストエディターも
作ってみようとと思ってる。タブ方式とする予定。
他の文書でマウスで一部をハイライト状態にすると、
自動的にビューワーのほうに転送されるようにしてあげる。
それを見ながら、手打ちするわけだ。タブを切り替えたり
スクロールさせなくていいわけだ。優しいだろ?
このトランスクリプトモードに入ったら、それまで入力された
箇所の不用意な変更を防止してあげる。そして
ビューワーの文字列を端から順番通りちゃんとミスタッチ無く
入力できるようにしてあげる予定(ミスタッチしたらBSを
入力したのと同じ効果にしてあげるとか)
0416デフォルトの名無しさん
2010/03/01(月) 06:47:110417デフォルトの名無しさん
2010/03/01(月) 06:49:53そんな最上級のウザソフト作って何がしたいの?w
0418410
2010/03/01(月) 06:54:040419デフォルトの名無しさん
2010/03/01(月) 07:00:17タイピングさせたいならタイピングオブザデッドでも買い与えてやれ。
0420デフォルトの名無しさん
2010/03/01(月) 07:14:010421デフォルトの名無しさん
2010/03/01(月) 07:24:16素直にウィルス作ってますと言えよ
0422デフォルトの名無しさん
2010/03/01(月) 07:26:490423デフォルトの名無しさん
2010/03/01(月) 07:34:30まさか生徒にAdomin権限使わせてるってことはないだろう?さすがに。
使わせてるとしたらバカ教師クオリティ。
0424デフォルトの名無しさん
2010/03/01(月) 07:37:50中学生かお前
0425デフォルトの名無しさん
2010/03/01(月) 07:50:420426デフォルトの名無しさん
2010/03/01(月) 07:54:47どこで(URLとかPathとか)コピーしてどこへペーストしたかって
0427410
2010/03/01(月) 07:56:24貧弱なソフト環境だったWin9xとかで棒に振られた
可哀想な世代だってことですね。 理解できました。
どうも傷ついてしまったようですみません。
訊いたのが間違いでした。
0428デフォルトの名無しさん
2010/03/01(月) 07:59:190429デフォルトの名無しさん
2010/03/01(月) 08:01:290430デフォルトの名無しさん
2010/03/01(月) 08:20:47黒板にググレカスとだけ書いて自習させた方が遥かに有意義だわな
0431デフォルトの名無しさん
2010/03/01(月) 08:24:47この簡単に答えられる質問を、誰にも答えてもらえない
お前さん人に物を教える前に、人に物を教えてもらう方法を学ぶべきじゃないか?w
0432デフォルトの名無しさん
2010/03/01(月) 08:40:020433デフォルトの名無しさん
2010/03/01(月) 08:46:490434デフォルトの名無しさん
2010/03/01(月) 10:45:000435デフォルトの名無しさん
2010/03/01(月) 10:47:440436デフォルトの名無しさん
2010/03/01(月) 10:53:04もう世の中には
ゆとりの教師かゆとりを育てた教師しかいないという絶望感
0437デフォルトの名無しさん
2010/03/01(月) 10:59:140438デフォルトの名無しさん
2010/03/01(月) 12:20:120439デフォルトの名無しさん
2010/03/01(月) 12:30:290440デフォルトの名無しさん
2010/03/01(月) 13:13:410441デフォルトの名無しさん
2010/03/01(月) 13:55:57EmptyClipBoad
0442デフォルトの名無しさん
2010/03/01(月) 15:15:36”ウィンドウが最大化されるとき”は、どうやって知ればよいのでしょうか?
0443デフォルトの名無しさん
2010/03/01(月) 15:29:160444デフォルトの名無しさん
2010/03/01(月) 16:45:04アプリ・ウィンドウを最大化状態で起動したとき、右上の”Resize”ボタン?を
押したときに、前回アプリ実行時のリサイズ状態に戻したいのですが、どうすれば
よいのでしょ〜か?
0445デフォルトの名無しさん
2010/03/01(月) 16:57:07GetWindowPlacement
0446444
2010/03/01(月) 19:47:43と納得しました。
0447デフォルトの名無しさん
2010/03/01(月) 19:59:09このタイミングで最大化する前のウィンドウサイズを保持して
次回起動後、SC_RESTOREが来たら保存したサイズにリサイズすればいいかと
0448デフォルトの名無しさん
2010/03/03(水) 05:07:100449デフォルトの名無しさん
2010/03/03(水) 07:06:250450デフォルトの名無しさん
2010/03/03(水) 08:41:04直接そのファイルに書きこむのと、一度適当なファイル作って書き込み
それを本来のファイルにリネームするのでは、どちらが良い?
0451デフォルトの名無しさん
2010/03/03(水) 08:49:03大昔の容量比の名残りでMS謹製ソフトでもオリジナルをリネーム後に新規作成してるのがあるけど
0452デフォルトの名無しさん
2010/03/03(水) 09:19:44サンクス!直接書き換えます
0453デフォルトの名無しさん
2010/03/03(水) 10:12:15ホットキーというのを試して成功したけど
入力が無効化されてしまうのはどうにかできないの?
0454デフォルトの名無しさん
2010/03/03(水) 11:43:13非アクティブなプロセスにどんな処理させてるのかによる
単一キーじゃなくてもいいなら普段使わないキーの組み合わせで回避したらどうかな
MODあたり使って
0455デフォルトの名無しさん
2010/03/03(水) 13:45:04RIDEV_INPUTSINK
0456デフォルトの名無しさん
2010/03/03(水) 23:33:01MSG::messageの中にWM_QUITが来てた時に、メッセージループから抜けようとしたんだけど、
メインウィンドウのハンドルを引数にしてたら、なぜか×ボタンとか押したとき(WM_CLOSEやWM_DESTROYでPostQuitMessage()を呼ぶようにしてる)
プログラムが終了しないんだけど、第二引数にNULLを与えたらうまくいくんだけど…。
NULLを与えても大丈夫なの?
全てのメッセージを取得するようになると勝手に思ってるんだけど…。
0457デフォルトの名無しさん
2010/03/03(水) 23:38:560458デフォルトの名無しさん
2010/03/03(水) 23:44:55ダウト。普通はNULLにする。
ウィンドウハンドルを指定したらそのウィンドウへのメッセージしか取れないだろ。
子ウィンドウ作る場合とかどうすんだ。
そもそもお前の場合GetMessageでWM_QUITを取得しようとした時点で
WM_DESTROY実行済みでウィンドウが無効になってるから失敗して当然。
勝手に思い込む前に頭のバグ直しとけ。
0459デフォルトの名無しさん
2010/03/03(水) 23:47:410460デフォルトの名無しさん
2010/03/04(木) 00:30:47了解。
Win32APIを学ぶために読んだページにウィンドウハンドルを渡すって書いてあったから、鵜呑みにしてた。申し訳ない。
0461デフォルトの名無しさん
2010/03/04(木) 04:12:41「ダウト」の意味を調べとこうな。
0462デフォルトの名無しさん
2010/03/04(木) 08:11:220463デフォルトの名無しさん
2010/03/04(木) 10:06:500464デフォルトの名無しさん
2010/03/04(木) 13:26:49あの位置情報をファイルの絶対パスなどから取得するのはどうすればいいんでしょうか。
0465デフォルトの名無しさん
2010/03/04(木) 19:25:010466デフォルトの名無しさん
2010/03/04(木) 20:25:560467デフォルトの名無しさん
2010/03/04(木) 23:03:50アプリの二重起動を防止したいと考えています。
それだけならMutexを使うだけなのですが、コマンドライン引数を
最初に起動したアプリに渡した後で、終了させたいと思ってます。
(最初に起動したアプリは常駐し、以後は常駐アプリにのみ処理させたい)
このような場合に、データ(コマンドライン引数)の受け渡しを
行うには、どのような機能/APIを使うべきでしょうか?
0468デフォルトの名無しさん
2010/03/04(木) 23:16:300469デフォルトの名無しさん
2010/03/04(木) 23:22:090470デフォルトの名無しさん
2010/03/04(木) 23:23:130471デフォルトの名無しさん
2010/03/04(木) 23:23:470472デフォルトの名無しさん
2010/03/04(木) 23:26:24自分のPCではちゃんと動くのに、知り合いのPCでは動かないみたいです。
呼び出されるexeの内部でファイルを書き出す処理をしているのですが、
ファイルが書き出されないようなので、CreateProcessの部分が原因ではないかと思っています。
またexeを直接起動したときの動作は問題ないようです。
自分のPCでは再現しないので、環境による影響があるのではないかと疑っているのですが、
環境によってCreateProcessがうまく動かないということは考えられるでしょうか?
自分のPCはWin7、知り合いのPCはWinXPです。
0473デフォルトの名無しさん
2010/03/04(木) 23:32:540474デフォルトの名無しさん
2010/03/04(木) 23:35:58OutputDebugStringやログ吐きまくってどのAPIがどんなエラーコードで失敗しているかを根性で調査するしか。
0475デフォルトの名無しさん
2010/03/04(木) 23:53:28あとCPUクーラーは良く利いているかな?クーラーは
消耗品や劣化する製品なので、メンテは必須だよん
他人が作ったアプリやOSが動作しない時は意外にありがち
なのがそういった問題
0476デフォルトの名無しさん
2010/03/05(金) 00:03:050477デフォルトの名無しさん
2010/03/05(金) 00:15:120478デフォルトの名無しさん
2010/03/05(金) 00:24:26いろいろ原因は考えられるんですね。
自分のPCでは再現しないので、デバッグもしづらいのがつらいところです。
>>476
exeのファイル名指定は相対パスで書いてあります。
>>477
CreateProcessの部分はネットで調べて書いたのですが、Win7発売より古い情報なので、それもなさそうです。
知り合いに協力してもらいながら調査してみます。
どうもでした。
0479デフォルトの名無しさん
2010/03/05(金) 00:42:06時にどのダイアログがどのアプリのものか外部アプリから識別する方法って
有りますか?
0480デフォルトの名無しさん
2010/03/05(金) 00:47:380481デフォルトの名無しさん
2010/03/05(金) 00:59:25複数起動したアプリのハンドルは区別できてるんですけど、
例えば1番目に起動したハンドルで保存ダイアログを探して、
外部アプリから操作しようとすると、2番目に起動したアプリの
保存ダイアログにメッセージが飛ぶ現象が起きてしまってどうしたもんかと。
0482デフォルトの名無しさん
2010/03/05(金) 01:15:580483デフォルトの名無しさん
2010/03/05(金) 01:17:05オーナーウインドウを調べれば分からない?
0484デフォルトの名無しさん
2010/03/05(金) 01:21:310485デフォルトの名無しさん
2010/03/05(金) 01:28:11中華は引っ込んでろ
0486479
2010/03/05(金) 11:21:04FindWindowExで調べていたからまずかったみたいです。
Owner,Ownerdを調べていったら出来ました。
ダイアログと親ウィンドウの関係が今回のことで分かりました。
また、よろしくお願いします。
0487デフォルトの名無しさん
2010/03/05(金) 17:40:260488デフォルトの名無しさん
2010/03/05(金) 17:42:020489467
2010/03/05(金) 22:27:15>>468
すみません、理解できませんでした。
スレッドを利用したプロセス間でのデータ受け渡しがあるのでしょうか??
>>469 >>470 >>471
最初のアプリが常駐した後、同時に複数の同アプリが起動した場合でも
うまくいくような仕掛け(排他制御)を考える必要がありそうですね。
0490デフォルトの名無しさん
2010/03/05(金) 23:01:50コマンドライン引数をSendすればいいだけじゃだめなの?
0491デフォルトの名無しさん
2010/03/06(土) 00:20:13後はカレントディレクトリも送っといたほうがいいんじゃないかな。
相対パスくらいはちゃんと扱ってもらわないと。
0492デフォルトの名無しさん
2010/03/06(土) 01:24:200493デフォルトの名無しさん
2010/03/06(土) 01:34:470494デフォルトの名無しさん
2010/03/06(土) 02:37:11次にリストビューあたりをクラス化したいと思うのですが、
検索してもなかなかそういうのが見つかりません。
こう作るのがセオリーというのがあれば知りたいのですが、
参考になるサイトやソースコードがあれば教えて欲しいです。
特に、ウィンドウプロシージャとのやりとりが煩雑なので
それをクラスにまとめる方法が知りたいです。
よろしくお願いします。
0495デフォルトの名無しさん
2010/03/06(土) 02:50:480496デフォルトの名無しさん
2010/03/06(土) 02:53:19俺は見たときないけど
0497494
2010/03/06(土) 03:13:33しまって。手っ取り早く説明しているところがあればなと思って質問しました。
やっぱりこういうのは自作するよりも利用するものなんですかね。
0498デフォルトの名無しさん
2010/03/06(土) 03:21:580499494
2010/03/06(土) 03:36:51そうではなくて、メインからコントロールを利用しやすくするためにクラス化
したかったのです。サブクラス化することでそういうメリットが得られるのでしょうか?
0500デフォルトの名無しさん
2010/03/06(土) 03:56:430501デフォルトの名無しさん
2010/03/06(土) 03:59:590502デフォルトの名無しさん
2010/03/06(土) 04:14:200503デフォルトの名無しさん
2010/03/06(土) 04:25:550504デフォルトの名無しさん
2010/03/06(土) 12:43:490505デフォルトの名無しさん
2010/03/06(土) 17:28:13ありがとうございます。
当方C++Builder2007を使っていて、それ用のヘッダ当ありますが
エラーが出まくってまともにコンパイルができませんでした・・・
0506デフォルトの名無しさん
2010/03/06(土) 23:17:57コンボボックスのことで教えて欲しいことがあって来ました。
CB_SETCURSELでアイテムを選択すると思うのですが、このAPIでアイテムを選択しても
一旦は切り替わるのですが、その後必ず先頭のアイテムが選択されてしまい、アイテム変更後
クリックメッセージを送ってやると選択したアイテムで処理が進んでくれるということになって
しまいました。
これって、使っているAPIが悪いのでしょうか?
それとも、操作しようとしているアプリの作り方(仕様?)の問題でどうしようもないことなのでしょうか?
よろしくお願いします
0507494
2010/03/06(土) 23:35:15と思ったのですが、意外とそうでもないようで。
とりあえずWTLやMFCとかの定番ライブラリのソースを調べてみることにします。
0508デフォルトの名無しさん
2010/03/07(日) 11:58:5864bitアプリケーションに対してEnumProcessModulesしてもうまく取得できずGetModuleFileNameExが失敗してしまいます
何が原因なんでしょうか?
0509デフォルトの名無しさん
2010/03/07(日) 14:51:070510デフォルトの名無しさん
2010/03/07(日) 15:01:070511デフォルトの名無しさん
2010/03/07(日) 16:17:060512デフォルトの名無しさん
2010/03/07(日) 17:13:270513508
2010/03/07(日) 17:14:2232bitでは64bitアプリケーションに対して一部の操作が無効なんですね・・
0514デフォルトの名無しさん
2010/03/07(日) 22:37:020515デフォルトの名無しさん
2010/03/08(月) 09:18:56以下の部分が怪しいのですが、勘違いしてないでしょうか、、、(Borland C++)
LOGFONT logfont;
const TCHAR *facename = _T("MS ゴシック");
_tmemset(&logfont,0,sizeof(LOGFONT));
_tmemcpy(&logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));
_tmemcpy(&save.logfont,&logfont,sizeof(LOGFONT));
0516デフォルトの名無しさん
2010/03/08(月) 09:27:44_tmemset(&logfont,0,sizeof(LOGFONT));
memset( &logfont,0,sizeof(LOGFONT));
これってどう違うの?UNICODEに合わせて用意された関数?
それと
_tmemcpy(&logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));
ここで、logfont.ltFaceNameのアドレスを渡してる
logfont.ltFaceNameは配列なので
正しくは
_tmemcpy(logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));
0517デフォルトの名無しさん
2010/03/08(月) 09:28:40_tmemcpy(&logfont.lfFaceName[0],facename,_tcslen(facename)*sizeof(TCHAR));
只の勘違いだろうけど、ポインタ周りを理解してないうちはUNICODEは控えた方が
0518デフォルトの名無しさん
2010/03/08(月) 11:33:51LOGFONT logfont;
::SecureZeroMemory( &logfont, sizeof( logfont ) );
::lstrcpy( logfont.lfFaceName, _T("MS ゴシック") );
0519デフォルトの名無しさん
2010/03/08(月) 12:33:56memsetでゼロクリアって確実にされないの?
0520デフォルトの名無しさん
2010/03/08(月) 12:46:59LOGFONT logfont = {0};
0521デフォルトの名無しさん
2010/03/08(月) 15:32:14WaitForSingleObject()ついて質問があります。
パイプを使用してアプリ間で双方向通信を行うプログラムを作成しています。
http://www.kumei.ne.jp/c_lang/sdk3/sdk_248.htm これを参考にしています。
アプリ間で共有しているイベントオブジェクトを使用してパイプへの書き込み読込みの排他処理を行っています。
正常に動作している場合は問題はないのですが、
仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません
これを回避する方法はあるでしょうか?
0522デフォルトの名無しさん
2010/03/08(月) 15:51:44・片方がアボートした段階で管理者に連絡する
・タイムアウト処理を実装する
0523デフォルトの名無しさん
2010/03/08(月) 15:52:39>>521 の間違い
0524デフォルトの名無しさん
2010/03/08(月) 16:10:401つでもシグナル状態になったら制御を返すWaitForMultipleObject()を使用する
0525デフォルトの名無しさん
2010/03/08(月) 17:16:540526デフォルトの名無しさん
2010/03/08(月) 17:54:28>>524のレスの通り、CreateEventでイベントオブジェクトを作成する。
なお、CreateEventの第一引数の名前をユニークなものとし、
両方のアプリで認識できる事とする。
あとは、プロセスが終了する段階でSetEventを指定すれば、
待ち合わせ側でもWaitForMultipleObjectで知る事ができる。
521-524以外なら、WM_KILLFOCUSが操作を終了したヒントの一つなのでは?
※但し、コントロールによってはCBN_SELCHANGEなどもあり、
一概とはいえない。
0527521
2010/03/08(月) 18:01:35返信ありがとうございます。
アボートする前にイベント発行の方法で考えてみます。
パイプの双方向通信て微妙に難しくありませんか?
今まで、送信と受信の2本のパイプで双方向通信してましたが、どうもスマートに見えないので
改良しましたが、今度はイベントの開放時に下手するとWaitForMultipleObject()でとまりますね・・・
なにか、いいオープンソースあったら教えてほしい・・・
0528デフォルトの名無しさん
2010/03/08(月) 18:31:11521-524とは異なる質問です
バッチ処理を行うアプリを作りたいのですが
例えばGUIアプリの、AアプリとBアプリがあるとし
Aアプリで処理を実行し、終了ー>その後にBアプリを実行させたいと思っています
アプリ自体は、作者が異なる者を想定していますので、イベント名などは合わせることは出来ません
この状態で対応出来ますか?
0529デフォルトの名無しさん
2010/03/08(月) 18:52:340530デフォルトの名無しさん
2010/03/08(月) 18:52:54>仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません
嘘書くな。
0531デフォルトの名無しさん
2010/03/08(月) 18:57:030532デフォルトの名無しさん
2010/03/08(月) 19:14:24まずは、Spy++でトレースして考えたほうがよいかと
0533デフォルトの名無しさん
2010/03/08(月) 19:17:18深い親子階層を持つウィンドウの中で、
フォーカスを持つウィンドウが自分の子孫に含まれているかを判定したいのですが。
0534533
2010/03/08(月) 19:27:530535デフォルトの名無しさん
2010/03/08(月) 19:36:010536デフォルトの名無しさん
2010/03/08(月) 19:50:20WS_EX_CLIENTEDGE,
WS_EX_WINDOWEDGE
該当するフラグをマスクでアンド演算してね
0537521
2010/03/08(月) 20:08:09525とは別人です。
>>531
パイプによるプロセス間通信で双方向通信の場合、
排他処理なしに1本のパイプで行うことは不可能じゃないですか?
以前やってみましたが、自分で書き込んだデータを自分のプロセスが読み込み(ReadFile())ます。
0538デフォルトの名無しさん
2010/03/08(月) 21:35:49OpenModeをPIPE_ACCESS_DUPLEXにして
PeekNamedPipeでスピンロックぐるぐる回してればいいじゃん
0539デフォルトの名無しさん
2010/03/08(月) 23:27:07ここの説明も良い説明ではないが、まだまとまった感じ
0540uy ◆e6.oHu1j.o
2010/03/09(火) 02:20:02プロセスAから
プロセスBへメッセージを送れるわけですが、
これを受け取りたくない場合ってプロセスBはどうやって作ればいいんですか?
させたくないのは、
とにかくプロセスBは、他プロセスからのメッセージを一切受け取りたくない = 自動操作などをさせたくない
ってことです。
0541デフォルトの名無しさん
2010/03/09(火) 07:32:54送信元が判定できないから難しいと思う
0542デフォルトの名無しさん
2010/03/09(火) 08:02:41宿題?
0543デフォルトの名無しさん
2010/03/09(火) 08:36:12リダイレクタにも応用できるし!?
0544デフォルトの名無しさん
2010/03/09(火) 08:57:220545デフォルトの名無しさん
2010/03/09(火) 09:25:420546デフォルトの名無しさん
2010/03/09(火) 09:32:56確実になしって言えるのは実現できないことだけだ
0547デフォルトの名無しさん
2010/03/09(火) 09:34:000548デフォルトの名無しさん
2010/03/09(火) 09:37:210549デフォルトの名無しさん
2010/03/09(火) 09:39:26UXガイドの450ページから読んだほうが整理付くんじゃね?
(あくまでも指標なんだけどね)
ttp://msdn.microsoft.com/ja-jp/library/aa511258.aspx
ここの「PDF 形式」をクリックすればダウンロードできるぞ
0550デフォルトの名無しさん
2010/03/09(火) 09:43:240551デフォルトの名無しさん
2010/03/09(火) 09:44:25いかにも俺はプログマーだぜって気分が味わえる。
0552デフォルトの名無しさん
2010/03/09(火) 09:48:080553デフォルトの名無しさん
2010/03/09(火) 12:03:29別に覚えたてに限らんでしょ。
自分でアプリ作るのは面倒だけど既製品では気に入らない時に
ボタンやダイアログのハンドル調べて自動制御する簡単なソフトを作るのは
みんなやってると思うんだけど。
0554デフォルトの名無しさん
2010/03/09(火) 12:08:280555デフォルトの名無しさん
2010/03/09(火) 12:09:47パイプ使ってコマンドライン編集するくらいならやるけど
0556デフォルトの名無しさん
2010/03/10(水) 00:18:16たとえ、他のプロセスからのメッセージを弾く方法があったとしても、
アクセシビリティAPI経由で操作できてしまうということになるだろうと思う。
0557デフォルトの名無しさん
2010/03/10(水) 02:10:250558デフォルトの名無しさん
2010/03/10(水) 04:45:500559デフォルトの名無しさん
2010/03/10(水) 07:27:380560デフォルトの名無しさん
2010/03/10(水) 09:33:040561デフォルトの名無しさん
2010/03/10(水) 09:34:020562デフォルトの名無しさん
2010/03/10(水) 11:22:16デスクトップに直接(文字とか画像とか)描画したいのですが、方法が分かりません。
このキーワードのままググってみて
hdc=GetDC(NULL)
のhdcを対象に描画する方法は見つけたのですが、これではなくて、
ウィンドウを開いた場合にも最も手前に表示されますが、私がしたいのは
一番奥、つまりデスクトップ背景画像のスグ上に表示させたいんです。
何を使えばいいんでしょうか?
0563デフォルトの名無しさん
2010/03/10(水) 11:25:120564デフォルトの名無しさん
2010/03/10(水) 11:36:140565デフォルトの名無しさん
2010/03/10(水) 11:55:250566デフォルトの名無しさん
2010/03/10(水) 13:07:14そこからDC探って、ビットマップ作成すればいいんじゃね?
0567デフォルトの名無しさん
2010/03/10(水) 19:53:05返ってくるから、普通にやると上書きされる
0568デフォルトの名無しさん
2010/03/10(水) 20:12:54そこに好きな文字を書く。
レジストリを書き換えて壁紙に設定
これ以上に強力な方法はないだろ
0569デフォルトの名無しさん
2010/03/10(水) 20:36:530570デフォルトの名無しさん
2010/03/10(水) 21:06:09Windows7で試したら、インスタンスは作れたけどE_NOTIMPLだった。残念。
0571デフォルトの名無しさん
2010/03/10(水) 21:43:520572デフォルトの名無しさん
2010/03/10(水) 22:02:35SetWindowsHookExでできるんじゃないかと思ったけどなんだか違うみたいで
0573デフォルトの名無しさん
2010/03/10(水) 22:11:15WM_QUERYSESSION
WM_ENDSESSION
あそうそう、戸田恵梨香ちゃんかわいいよね
0574デフォルトの名無しさん
2010/03/10(水) 22:22:33ありがとうございます!
適当にウィンドウ作ってやってみる
Win7なのがちょっと心配
0575572
2010/03/10(水) 23:24:49WM_QUERYSESSION
でシャットダウン・ログオフをキャンセルさせることはできたのですが
スリープの方がうまくいきません
調べてみたところXPまではスリープ時に送られてくるWM_POWERBROADCAST / PBT_APMQUERYSUSPENDに対して
BROADCAST_QUERY_DENYを返すことでスリープ以降をキャンセルできたようなのですが、Vista以降はうまく動作しないようです
SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_CONTINUOUS)も試してみたのですが効果がありませんでした
Windows7で同じような処理をする方法はないでしょうか?
0576デフォルトの名無しさん
2010/03/10(水) 23:28:44ポーリングのためにWriteFileするタイミングで
ケーブル(USB側)を引っこ抜くとWriteFileが返らぬ人になって困っています。
ポートも握り締めたまま逝ってしまわれるので、どうにも・・。
エラーで良いので戻って欲しいのですが、
どういう方法が一般的なのでしょうか?
0577デフォルトの名無しさん
2010/03/10(水) 23:33:320578デフォルトの名無しさん
2010/03/11(木) 00:06:30overwrapped
0579576
2010/03/11(木) 00:49:23>>577
戻ってこなければスレッドごと破棄でポートを
手放してくれますかね〜。やってみまつ。
>>578
hmm...OVERWRAPPEDだと処理がすぐに返るんですね!
タイムアウトの処理が難しそうですが挑戦してみます。
こっちの方がシンプルなのかなぁ。
0580デフォルトの名無しさん
2010/03/11(木) 16:05:17無限ループに陥るのを防止するコードで何かいいのないですか。
深さかパスの長さに制限つけちゃうのが手っ取り早いとは思いますが厳密とは言い難いです。
0581デフォルトの名無しさん
2010/03/11(木) 16:32:180582デフォルトの名無しさん
2010/03/11(木) 17:21:57それならルートからGetFileInformationByHandleを呼び出してVolumeSerialNumberとFileIndexが全て一致しないか調べるくらいしか思いつかない
0583デフォルトの名無しさん
2010/03/11(木) 20:50:02一回見た場所を覚えておいて同じところに戻ってきたらそこで枝を打ち切って幹に戻ればよい
0584デフォルトの名無しさん
2010/03/11(木) 21:06:060585デフォルトの名無しさん
2010/03/11(木) 23:15:200586デフォルトの名無しさん
2010/03/12(金) 02:19:21chmod -Rf 777 /usr/hoge/fuga
みたいなことしたら
/etc 以下全部 777 になって焦ったことはある
あれはなんだったんだろう
0587デフォルトの名無しさん
2010/03/12(金) 04:05:080588デフォルトの名無しさん
2010/03/12(金) 04:31:440589デフォルトの名無しさん
2010/03/12(金) 04:49:070590デフォルトの名無しさん
2010/03/12(金) 05:25:290591デフォルトの名無しさん
2010/03/12(金) 05:46:310592デフォルトの名無しさん
2010/03/12(金) 07:41:51それ、本当にスリープに移行しているのか?
画面の出力が止まっているだけじゃないか?
0593デフォルトの名無しさん
2010/03/12(金) 09:13:38Vista以降はPBT_APMQUERYSUSPENDが省かれている
0594デフォルトの名無しさん
2010/03/12(金) 13:44:59ヒント:キーロガーの逆
0595デフォルトの名無しさん
2010/03/12(金) 15:13:470596デフォルトの名無しさん
2010/03/12(金) 17:19:05俺ならサービス作ってそっから一定間隔でクリップボードからにするプログラム呼び出すか
クリップボード関連のAPIをフックするかな
これならプログラムがLocal System Accountで動くからすべてのプログラムを制御できる
0597デフォルトの名無しさん
2010/03/12(金) 17:39:410598デフォルトの名無しさん
2010/03/12(金) 17:48:16宿題なんて所詮はテストの為の予習復習だろ。
0599デフォルトの名無しさん
2010/03/12(金) 22:40:46それらもすべて封じてしまうのか。
不便じゃのう。
0600デフォルトの名無しさん
2010/03/12(金) 22:59:41それを読み取って指定したウィンドウ
に送るコントロールを誰か作るだろうから
そういうサービスがあってもコピーは横行だろから
効果は薄いだろね。(IMEの自動学習をOffにしないと
ならんだろうが)
0601デフォルトの名無しさん
2010/03/13(土) 01:20:36本来の目的は、生徒にちゃんと理解させることだと思うんだけど。
それなら結局テストとかで判断できそうなんだけどな。
0602デフォルトの名無しさん
2010/03/13(土) 02:04:31リンクを禁止させ(IP生徒間では非公開。リブート=ログオン単位に
変化させる)、FDもDVDROMとかも付けない、USBメモリが使えないようにUSB端子をボード上で断線させる(ハンダコテだけで十分できる)キーボードマウスはUSBタイプだがPS/2変換を行う。
教師との通信はクリップボードが使えない専用ソフトで行う。
Windows標準装備も含め不要なアプリケーションは全部外す。
当然インターネットにも繋げない。
教材はすべて画像ファイルにして、専用ビューワーで閲覧させる。
これくらい徹底的にやらないと教育現場じゃ使えないだろ
但し教師のほうも3年は休職して特別訓練を受ける必要は
あるだろうが
0603デフォルトの名無しさん
2010/03/13(土) 02:17:19教師の方は精神病院で療養を受ける必要があるな
0604デフォルトの名無しさん
2010/03/13(土) 02:19:390605デフォルトの名無しさん
2010/03/13(土) 02:22:09学習データ回収作業に徹し
0606デフォルトの名無しさん
2010/03/13(土) 02:40:58これでよくね?
0607デフォルトの名無しさん
2010/03/13(土) 02:48:26今の学校はもっとスマートに運用してる
0608デフォルトの名無しさん
2010/03/13(土) 02:52:11どんな風に?
0609デフォルトの名無しさん
2010/03/13(土) 02:55:44ケーブル繋いで...だろw
0610デフォルトの名無しさん
2010/03/13(土) 04:02:46学校ごとにドメイン組んで、生徒には個別にアカウントが与えられてる。
権限設定して生徒同士ではファイルがコピーできないようになってる。
USBメモリ対策は企業なんかでやってるのと同じ。
インターネットも普通に使えるし、かなり金と手間をかけてシステム組んでる。
こないだ父兄の見学会に行ってびっくりしてきたとこ。
0611デフォルトの名無しさん
2010/03/13(土) 04:24:19だがいずれほぼ一生PCに付きまとわれる運命の
星に生まれた現代人にとっては、学校だけはそう
でない場所だと願いたいものだぜw
0612デフォルトの名無しさん
2010/03/13(土) 05:13:49パソコンがプログラミングして使うものだなんて知らずに育つんだろうか
0613デフォルトの名無しさん
2010/03/13(土) 05:17:280614デフォルトの名無しさん
2010/03/13(土) 05:37:200615デフォルトの名無しさん
2010/03/13(土) 05:57:02PCでPC教育せざるを得ない現実を憂う なあんてね
>>614
ハンダを溶かしてポンプで吸い取って一時的にコネクタとか
を機能停止させた経験とかある世代なんてもう40代
後半以降が主流だろな(目的を完全に達することができる
かどうかは回路次第だが)
0616デフォルトの名無しさん
2010/03/13(土) 06:26:19ICの足を上げたりとかやったっけ
今はたいていのことがソフト的にできるし、学校だと
クライアントが何百台もあるのにハンダゴテとか不可能だし
そんなことしなくてもUSBは殺せるんだし
というわけで、>>410はもうちょっとWindowsの
内部の勉強をして別の方法を考えた方がいいと思うよ
クリップボード消されると普通に文章を書くだけでも
推敲もできなくて能率がガタ落ちしそうだわ
0617デフォルトの名無しさん
2010/03/13(土) 06:28:47いや、別に20代でもやった事はあるが
PCパーツにポンプで吸えるほどの巨大半田は無い
やるならカッターで削る
そもそも学校はリースだし、業者に注文すれば普通にUSB無しが来る
0618デフォルトの名無しさん
2010/03/13(土) 06:31:37その課題そのものに根本的に意味が無いって事だ
0619デフォルトの名無しさん
2010/03/13(土) 07:20:59厳格に分離する。アクセス可能なフォルダーも厳しく制限する。
こうすれば安直なクリップボード経由の複製を防げるし
系統の異なるアプリケーション操作を異なるデスクトップで
行うので混乱が少なくて良くね?(XP以降じゃないと別ユーザー
の同時ログオンは無理だが)
願わくは、今は廃れたMDIにデストップ全体を表示し
同一画面に複数ユーザーセッションを同時表示することが出来るような
機能がWindowsにあれば良いんだが...
0620デフォルトの名無しさん
2010/03/13(土) 07:35:37言ってる事とやりたい事が意味不明です
0621デフォルトの名無しさん
2010/03/13(土) 07:45:240622デフォルトの名無しさん
2010/03/13(土) 07:55:26そして穴だらけで意味の無いことばかり言う
0623デフォルトの名無しさん
2010/03/13(土) 07:57:190624デフォルトの名無しさん
2010/03/13(土) 08:01:33そだね。一つのウィンドウに、スタートメニューとかタスクバーを
表示できるのはただ一つとかね。制限が多いよ
0625デフォルトの名無しさん
2010/03/13(土) 08:14:39だから、そういう風にデスクトップが色んな
種類の「個性的な」アプリがおんなじ額縁に
入った状態でごちゃごちゃになってるの見るの
見せるのがヤだという理由でWebアプリが増え
てきてるんだろ?今時のまともな学校だったら
何百台のPCの同時アクセスに堪える凄いスペッ
クのサーバーがフル稼働してるのが普通。
0626デフォルトの名無しさん
2010/03/13(土) 08:21:49あれもだめこれもだめかなんだPCてつまんないじゃんと思うか
それともクラッキング技術に長けてくるかもしれないなw
0627デフォルトの名無しさん
2010/03/13(土) 08:38:44そんだけ制限するからには、一体何をさせてくれるんだ?と思ったら
今配ったプリントを打ち込んでワードファイルにしなさい
とか言うボケ老人じみた課題を出してくれる
カス教師共は初心者にPCに対する嫌悪感を植え付ける天才だわ
0628デフォルトの名無しさん
2010/03/13(土) 08:47:250629デフォルトの名無しさん
2010/03/13(土) 08:56:200630デフォルトの名無しさん
2010/03/13(土) 09:00:410631デフォルトの名無しさん
2010/03/13(土) 09:05:09サーバー側で1秒毎に
LPCTSTR "否"を
クリップボードに注入し続ければイイんじゃないかな
0632デフォルトの名無しさん
2010/03/13(土) 09:08:42全く無意味
0633デフォルトの名無しさん
2010/03/13(土) 09:10:04腹立たしいほどに無意味
0634デフォルトの名無しさん
2010/03/13(土) 09:12:10杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
0635デフォルトの名無しさん
2010/03/13(土) 09:50:52それだけの設備を持っている「今時のまともな学校」って
具体的にはどことどこ?
0636デフォルトの名無しさん
2010/03/13(土) 09:59:20お前らのLifeTimeをTerminateすっぞ
あと>>410は辞職しろ
0637デフォルトの名無しさん
2010/03/13(土) 10:02:370638デフォルトの名無しさん
2010/03/13(土) 11:25:38アレもダメ,コレもダメ、ソレもダメというのは
結局不用意な操作や誤操作は、個別に作ってあるアプリ
同士が干渉して収拾がつかない結果につながるから
ということが多いんでね?
単独アプリならUndo対応しているものが多いが
複数アプリ連係操作の場合はそうとも限らんから。
連係操作して始めて意味を為すアプリグループも
あるから単独のアプリの全画面表示を切り替えて
というインターフェースは今時あり得ないことは
言う迄もないし...
0639デフォルトの名無しさん
2010/03/13(土) 11:28:110640デフォルトの名無しさん
2010/03/13(土) 11:54:06caclsコマンド使って権限変更したら編集・削除できるようになった
今現在はどうなってるかわからんが・・・
こういう場合どうやって回避する?caclsは外部コマンドだし
0641デフォルトの名無しさん
2010/03/13(土) 11:56:110642デフォルトの名無しさん
2010/03/13(土) 11:58:16caclsコマンドを実行できない権限のアカウントでアクセスさせる
0643デフォルトの名無しさん
2010/03/13(土) 12:01:46古き良きWin16APIに対し、原則相互不干渉を前提としつつも、
多種多様なIPCを用いて極力Wn16APIとの連続性を保持し
ようとするWin32APIの話題の原点そのものなんだが..
ついていけないワカい人が多いみたいなんで取り敢え
ずクローズね。
0644デフォルトの名無しさん
2010/03/13(土) 12:26:30後付けになってごめんね
それが俺その時学生で試しにやってみたらできたから学生全員がアクセスできてたと思う
一応ゼミの先生と事務所?システム管理?の所には報告したから大丈夫と思うけど
アクセス制限かありがとう
0645デフォルトの名無しさん
2010/03/13(土) 14:16:53エディッタ上では罫線も縦横きれいに表示されるのですが、、、
0646デフォルトの名無しさん
2010/03/13(土) 14:48:070647デフォルトの名無しさん
2010/03/13(土) 16:31:55つうか、なんで1秒後ごとにクリップボード消去してるのかわからん
クリップボードコピーした瞬間にクリップボード消去すればいいじゃん
負荷かからないし
0648デフォルトの名無しさん
2010/03/13(土) 16:42:29ずっと変な改行してるバカ
お前話題を理解できてなさ過ぎて邪魔
0649デフォルトの名無しさん
2010/03/13(土) 17:31:330650デフォルトの名無しさん
2010/03/13(土) 18:00:40お前懐古したいだけだろ?
少しは空気嫁
0651デフォルトの名無しさん
2010/03/13(土) 22:07:23連係して使うことが出来るようにはなったけど
逆にそれを一部制限して使うことは出来なくなって
しまった。パワーユーザーが自分で使う分には
困らないがそうでない人にそうなれるように教え
なければならない(つまり引き継ぎたい)時には
エラク苦労するねってことだろ。
クリップボードを使わせたく無いとかD&Dを禁止
したいとかはそのあたりから出てきてるんじゃね?
APIスレの住人はそういう苦労は少ないだろけど
0652デフォルトの名無しさん
2010/03/13(土) 23:06:35引継ぎとかそういう話に持っていくならね。
0653デフォルトの名無しさん
2010/03/13(土) 23:10:410654デフォルトの名無しさん
2010/03/13(土) 23:11:07お前懐古したいだけだろ?
少しは空気嫁
0655デフォルトの名無しさん
2010/03/13(土) 23:11:53∩___∩
/ ノ \ ヽ
| ● ● | なにマジになってんの?
彡 (_●_) ミ
/、 |∪| ,\ このAPIやるから帰れよ
/.| ヽノ | ヽ
,,/-―ー-、, --、 .|_,|
r-、,'''";;:;;:;::;;;;:;;::;:;:;;::;:;`'- /_,l,,__ )
|,,ノ;;:;r'" ̄ ゙̄^"`Y'-、;;;::;:;::;:;:;:;::;:|
.ヽ,′ ExitWindowsEx"";;;;;⌒゙')
´`゙'''''''''''‐-‐'"`‐-‐'"゛ `゙´
| .‖ /
("___|_`つ
0656デフォルトの名無しさん
2010/03/13(土) 23:14:01Cのライブラリ関数使うのと同じ感覚じゃ、APIなんて
使えたもんじゃない、一筋縄じゃいかない
ってのと同じ
0657デフォルトの名無しさん
2010/03/13(土) 23:21:530658デフォルトの名無しさん
2010/03/13(土) 23:25:200659デフォルトの名無しさん
2010/03/14(日) 04:02:370660デフォルトの名無しさん
2010/03/14(日) 04:29:20顔真っ赤すぎ
というか何の教師やってるのかしらんがどうせITの負け組みだろw
タスクバーのプロセス隠蔽なんて少し調べればわかるだろうに
0661デフォルトの名無しさん
2010/03/14(日) 04:31:550662デフォルトの名無しさん
2010/03/14(日) 04:35:39湧いてきたよくわからんね。
0663デフォルトの名無しさん
2010/03/14(日) 05:36:25それプロセス隠蔽って言わない
0664デフォルトの名無しさん
2010/03/14(日) 12:06:400665デフォルトの名無しさん
2010/03/14(日) 12:42:550666デフォルトの名無しさん
2010/03/14(日) 12:56:21ラクになるんでしょうか?先輩に聞いたら
「10個程度覚えれば後は都度調べればいいけど0個じゃ辛い」
といってるんですが信じていいでしょうか?
0667デフォルトの名無しさん
2010/03/14(日) 13:07:55ただ、どのDLLがどの機能を管轄しているかくらいは知っておくといいかもしれません
/*
6個でウィンドウ表示
RegisterClassEx
CreateWindowEx
GetMessage
TranslateMessage
DispatchMessage
PostQuitMessage
*/
0668デフォルトの名無しさん
2010/03/14(日) 13:14:100669デフォルトの名無しさん
2010/03/14(日) 13:18:000670デフォルトの名無しさん
2010/03/14(日) 13:36:32Windowsアプリを作ったり、Windowsの仕組みを覚えられるだけで
あまりプログラミングは楽にならない
でも画像処理とかは楽になるかもしれない
0671デフォルトの名無しさん
2010/03/14(日) 14:12:450672デフォルトの名無しさん
2010/03/14(日) 14:34:06繰り返しアニメーション表示するアプリをAPIだけで組みたい
んだけどどう組めばいいですか?
0673デフォルトの名無しさん
2010/03/14(日) 14:36:150674672
2010/03/14(日) 14:38:25変えないようにし、書かれているアニメもそれに
応じて(途中迄でも)大きさを変えたいです。
0675デフォルトの名無しさん
2010/03/14(日) 14:40:13で、ウィンドウサイズが変更されようとしているときに、縦横比率を変えないように変更して、
ウィンドウサイズに合わせて描画サイズを変えればいい。
0676デフォルトの名無しさん
2010/03/14(日) 14:43:200677デフォルトの名無しさん
2010/03/14(日) 14:46:580678デフォルトの名無しさん
2010/03/14(日) 14:47:550679デフォルトの名無しさん
2010/03/14(日) 20:10:24PdhGetFormattedCounterValueで取得してみたところ、取得できるCPU使用率は
タスクマネージャで確認できるCPU使用率の2倍になっています(2コアだから?)。
ということは取得できるCPU使用率の最大値は200となるはずと思っていたのですが
何故か100までしか取得できませんでした。(100以上は100として取得できる模様)
ちなみにWindows付属のパフォーマンスモニターで確認してみると、こちらも
タスクマネージャの2倍の値が表示されていますが、100以上の値もきっちり正しく表示されます。
取得できる上限を200にする方法か、タスクマネージャで表示されている値を
簡単に取得できる方法はありませんか?
0680デフォルトの名無しさん
2010/03/14(日) 20:16:500681デフォルトの名無しさん
2010/03/14(日) 20:30:47// オープン
HQUERY hQuery;
PdhOpenQuery(NULL,0,&hQuery);
// カウンタ追加
HCOUNTER hCounter;
std::string str = "\\Process(GOM)\\% Processor Time";
PdhAddCounter(hQuery, str.c_str(), 0, &hCounter );
// 3秒間の負荷計測
PdhCollectQueryData(hQuery);
Sleep(3000);
PdhCollectQueryData(hQuery);
// 計測結果取得
PDH_FMT_COUNTERVALUE fntValue;
PdhGetFormattedCounterValue(hCounter, PDH_FMT_LONG, NULL, &fntValue);
// クローズ
PdhCloseQuery( m_hQuery );
std::cout << fntValue.longValue << std::endl;
0682デフォルトの名無しさん
2010/03/14(日) 20:42:15俺なんて引数も戻り値もちゃんと覚えているのは10個もない。
ただ、どんなAPIが「存在するか」はだいたい把握している。
0683デフォルトの名無しさん
2010/03/14(日) 21:16:25PdhGetFormattedCounterValueのヘルプを見てみたが、
dwFormatにPDH_FMT_NOCAP100フラグが無いと、
100を超える値は全て100で返る仕様っぽいぞ。
家はシングルコアだから試しようが無いけどなorz
0684デフォルトの名無しさん
2010/03/14(日) 21:29:01おっしゃるとおりでした!
PDH_FMT_NOCAP100フラグを立てると100以上の値も取得できるようになりました。
ありがとうございます!
0685デフォルトの名無しさん
2010/03/14(日) 22:00:40Win32APIの目次みたいな一覧が色んな所にあるから
一通り流し読む
引数とかは一切無視
関数名と1行説明だけ読む
そんでおわり
その先輩はちょっと若いな
あんま意味の無い助言
0686デフォルトの名無しさん
2010/03/15(月) 13:52:550687デフォルトの名無しさん
2010/03/15(月) 14:53:54検索ワードだけでいいから誰か教えておくれ
0688デフォルトの名無しさん
2010/03/15(月) 14:57:59大して難しくないような
まあどうすればいいか全然分からんって言う奴は
はじめからやる気がないんですけどね
0689デフォルトの名無しさん
2010/03/15(月) 15:14:17挙動が違ってくるし、
突き詰めたらそんなに簡単な話でもないと思うけど。
0690デフォルトの名無しさん
2010/03/15(月) 15:24:05でもググっても監視する方しか分かんないや
0691デフォルトの名無しさん
2010/03/15(月) 16:22:080692デフォルトの名無しさん
2010/03/15(月) 20:19:51「WaitCommEvent」はタイムアウトで戻す事は出来ないんでしょうか?
タイムアウトはRead,Writeのみなんでしょうか?
0693デフォルトの名無しさん
2010/03/15(月) 21:59:480694692
2010/03/15(月) 22:19:59SetCommTimeoutsみたいな設定で、WaitCommEventからイベント無しで
戻せるのか知りたいんです。
0695デフォルトの名無しさん
2010/03/15(月) 22:52:42昔やった方法
・CreateFile()でPENDINGで開く
・WaitCommEvent()でイベントオブジェクトとともに渡す→すぐ返る→戻り値0、GetLastError()がPENDINGなら正常
・WaitForMultipleObjects()に指定し、でタイムアウトつきで待つ
スレッド化してるからWait〜で他のイベントオブジェクトもついでに待ってたな。
ググればどこかにサンプルがあるはず。自力で書けなかった記憶があるから。
特にPENDINGを使用する箇所
0696692
2010/03/15(月) 23:23:06PENDINGとはオーバーラップド構造体云々ってやつですか?
良く分からないので明日ヘルプ見ながら実機でちまちま試してみます、
有難うございました
0697デフォルトの名無しさん
2010/03/16(火) 14:41:47このアイコンをクリックでUSB切断ってするけど
この切断を行うAPIを教えてください
0698デフォルトの名無しさん
2010/03/16(火) 14:53:540699デフォルトの名無しさん
2010/03/16(火) 14:55:55うわっ!!
すごいwwwwwww
ありがとうありがとう。
0700デフォルトの名無しさん
2010/03/16(火) 19:16:22>>698 の系統なら、PnP Configuration Manager に含まれている。
0701デフォルトの名無しさん
2010/03/17(水) 18:10:02recvfromで受ける時に12バイトきてるのに6バイトしか受けないと
残りは取れなくなりrecvfromの戻り値も-1になってしまいます。
えっと理想は、例えば12バイトデータが来てたとして
selectでデータありかチェックしデータありなら6バイトrecvfromする
ってのをループさせたいのですが・・・
0702デフォルトの名無しさん
2010/03/17(水) 18:39:230703デフォルトの名無しさん
2010/03/17(水) 18:45:050704デフォルトの名無しさん
2010/03/17(水) 19:15:050705デフォルトの名無しさん
2010/03/17(水) 19:23:15といっても12バイトじゃバッファッファにはならんか
0706デフォルトの名無しさん
2010/03/17(水) 20:03:440707デフォルトの名無しさん
2010/03/17(水) 20:30:33706が正解。
メッセージの大きさを事前に(ネゴして)決めておいて全部読むしかない。
0708デフォルトの名無しさん
2010/03/17(水) 20:35:56とりあえず64KB確保しとけば仕様的には絶対足りる。
0709デフォルトの名無しさん
2010/03/17(水) 22:43:210710デフォルトの名無しさん
2010/03/18(木) 07:10:510711デフォルトの名無しさん
2010/03/18(木) 07:15:09周囲の環境を否定することでしか自我を保てない哀れな野郎だ
0712デフォルトの名無しさん
2010/03/18(木) 09:56:59ItemDataに相当する値を入れられるような仕組みは無いのでしょうか。
このカラムにはどんな項目を表示しているのかの情報を
カラム番号を使って取得できると便利なのですが。
0713デフォルトの名無しさん
2010/03/18(木) 11:57:16いつもの如くSetPropするしかないんでしょう
0714デフォルトの名無しさん
2010/03/18(木) 12:29:080715デフォルトの名無しさん
2010/03/18(木) 14:22:26とりあえず>>702みたいな馬鹿なレスは勘弁してくれ
お前等ごみにわかりやすいようにサイズを言っただけなんだからw
ようするにだな、例えばな、例えばだからな?例えばつってんだろ!
通常は6バイトのデータがくるとする
だが、その6バイトのデータが立て続けてきちゃって12バイトになった場合にだ
今の使用だと、全部取ってから自分で分割ってことせんといかんが
それをまずは6バイトゲットして処理、そしてselectでデータありと判断
んで残りの6バイトをゲットみたいな感じでやりたいんよ。
要するにシリアルやファイル感覚で。楽したいんだよ!
まあお前等って頭悪いから聞いても無駄だったんだけど
とりあえず聞いてみただけだ、ゴミ同士で喧嘩するなよ
0716デフォルトの名無しさん
2010/03/18(木) 14:28:330717デフォルトの名無しさん
2010/03/18(木) 14:31:110718デフォルトの名無しさん
2010/03/18(木) 14:33:440719デフォルトの名無しさん
2010/03/18(木) 14:38:02つーかUDPを知らないからってすぐTCPってほざくのやめれ
0720デフォルトの名無しさん
2010/03/18(木) 14:41:20バッファリングしたければ自分でやれ
0721デフォルトの名無しさん
2010/03/18(木) 14:45:36まあ、そうしますよ。
0722デフォルトの名無しさん
2010/03/18(木) 15:30:13UDPは分割されないし、結合もされない。
出来ない事をやりたがるのが低脳の証。
0723デフォルトの名無しさん
2010/03/18(木) 16:50:13TCPなら出来るが、いったい何を言ってるんだ?
そもそもUDPで単位が区切られているのは、データが損失した場合の保証がないので、
突然途中が抜けてしまった場合などにデータの区切りが不明になってしまうから。
しかもTCPと違って同一アドレスから送られてきている保証もないし、順番が前後する可能性だってある。
そういった問題に対処するのが嫌な人間のために、面倒な処理をTCPが引き受けてくれるようになっているんだろ。
0724デフォルトの名無しさん
2010/03/18(木) 16:53:34小学生の相手するのやめてくれるか?
0725デフォルトの名無しさん
2010/03/18(木) 17:37:220726デフォルトの名無しさん
2010/03/18(木) 23:19:360727デフォルトの名無しさん
2010/03/18(木) 23:22:480728デフォルトの名無しさん
2010/03/18(木) 23:25:05MFCの実物のソースコードを眺めて考えればいいんじゃね?
0729デフォルトの名無しさん
2010/03/18(木) 23:35:540730デフォルトの名無しさん
2010/03/18(木) 23:45:04こんだけのことしかやってないぞ
afxwin2.inl
_AFXWIN_INLINE HWND CWnd::GetSafeHwnd() const
{ return this == NULL ? NULL : m_hWnd; }
0731デフォルトの名無しさん
2010/03/19(金) 04:13:14あまつさえ覚えなきゃならないのは苦痛だな
0732デフォルトの名無しさん
2010/03/19(金) 07:29:02どういう状況を想定してるんだろ
0733デフォルトの名無しさん
2010/03/19(金) 07:56:560734デフォルトの名無しさん
2010/03/19(金) 07:57:20アサートを書く時は便利かも。
0735デフォルトの名無しさん
2010/03/19(金) 11:08:05if (m_wnd.GetSafeHwnd() == NULL)
みたいなコードを見るが、これは関数の意味をわかっていないんだろうな。
0736デフォルトの名無しさん
2010/03/19(金) 11:22:41MSDN読んで来い
0737デフォルトの名無しさん
2010/03/19(金) 15:40:380738デフォルトの名無しさん
2010/03/19(金) 15:41:47WMI使うのが簡単。
0739デフォルトの名無しさん
2010/03/19(金) 16:18:580740デフォルトの名無しさん
2010/03/19(金) 16:29:46簡単なサンプルを教えていただけないでしょうか?
0741デフォルトの名無しさん
2010/03/19(金) 16:31:240742デフォルトの名無しさん
2010/03/20(土) 01:20:50コンパイラは一体どこを参照しているのでしょうか?
例えばコンピュータ上でwindows.hを検索すると、たくさん合致するため、
どのwindows.hをincludeしているのかわかりません。
0743デフォルトの名無しさん
2010/03/20(土) 01:27:060744デフォルトの名無しさん
2010/03/20(土) 01:30:16嘘教えるなや。
>>742
Visual Studioのオプションで設定欄があるよ。
0745デフォルトの名無しさん
2010/03/20(土) 01:58:16どこが嘘なんだ?
消していけば分かるだろ?
0746デフォルトの名無しさん
2010/03/20(土) 02:00:530747742
2010/03/20(土) 02:00:58ありがとうございます。
$(VCInstallDir)includeなどとあったんですが
VCInstallDirに設定されているパスはどこで見ることができるのでしょうか?
コマンドプロンプトでsetと打ったのですが、VCInstallDirはありませんでした。
0748デフォルトの名無しさん
2010/03/20(土) 02:12:18VCInstallDirは環境変数であるときもあれば、そうでない時もある。
Visual StudioをGUIとして使ってるときは環境変数ではない。
また、VCInstallDirはvcpp自体のインストールPATHを指す固定値なので見る方法は存在しない。
一方、コマンドラインから使用する場合は環境変数として使用する。
その際は事前にvcvars32.batを呼び出しておく。
0749デフォルトの名無しさん
2010/03/20(土) 02:47:15なんで応用と言うのも憚れるような単純な工夫すら出来ないんだ
0750デフォルトの名無しさん
2010/03/20(土) 03:04:060751デフォルトの名無しさん
2010/03/20(土) 03:15:17やるならrenameで(作業後復元をお忘れなく)
0752デフォルトの名無しさん
2010/03/20(土) 03:20:320753デフォルトの名無しさん
2010/03/20(土) 07:23:28特定の条件とは、MessageBoxを呼び出しているプログラムのウィンドウが非表示状態のときです。
ダイアログを作成し、ダイアログが表示されている状態でMessageBoxを呼び出した場合は
常に最前面に表示されることを確認しています。
また、どちらもhWndにNULL、uTypeにMB_TOPMOSTが指定されていることを確認しています。
原因がわからないのですが、何か仕様で制限されていたりするんでしょうか?
0754デフォルトの名無しさん
2010/03/20(土) 08:18:510755デフォルトの名無しさん
2010/03/20(土) 11:45:25フォーカスを次のコントロールに移す機能って
Win32API レベルでは提供されていないのでしょうか?
あと同様にニーモニック機能(&F)とかでそのコントロールに移る機能についても
ダイアログをリソースで作っておいた時にはできるみたいなのですが
0756デフォルトの名無しさん
2010/03/20(土) 11:49:030757デフォルトの名無しさん
2010/03/20(土) 14:00:58メッセージループの方で処理すればよいかと
SetFocus(GetNextDlgTabItem(メインウィンドウ,GetFocus(),Shiftキーフラグ))
0758デフォルトの名無しさん
2010/03/20(土) 14:11:34Tabによる自動遷移に関してはダイアログじゃなくても可能
IsDialogMessageとTranslateAccelerator
0759デフォルトの名無しさん
2010/03/20(土) 14:27:33IsDialogMessageがFALSEならDispatchすればいいのね
0760デフォルトの名無しさん
2010/03/20(土) 17:05:23このDLLにウィンドウプロシージャでWM_COMMANDを受け取った時の動作も記述しておくことはできますか?
0761デフォルトの名無しさん
2010/03/20(土) 17:21:24それならC#でWM_COMMANDを処理するプロシージャを書いた方が早いよ。
0762デフォルトの名無しさん
2010/03/20(土) 17:57:09どうもです。出てきた関数名あたりで調べてみますです。
0763デフォルトの名無しさん
2010/03/21(日) 12:36:01RegisterHotKey/WM_HOTKEY以外でお願いします。
0764デフォルトの名無しさん
2010/03/21(日) 13:16:540765デフォルトの名無しさん
2010/03/21(日) 19:50:32SetWindowsHookExを使うのが手っ取り早い。
>>764
DNS関連のAPIはOS付属のDLLを使うんじゃなかったっけ?
0766デフォルトの名無しさん
2010/03/21(日) 22:37:09Bitblt()でデスクトップの画像を取得して動画を作りたいのですが
Aeroが有効だと時間がかかってフレームレートがガタ落ちしてしまいます。
Aero無効にせずに高速で処理できる方法はないでしょうか?
0767デフォルトの名無しさん
2010/03/21(日) 22:44:05Vista以降ではGDIはレガシー扱いなので、使用しないことが望ましい。
0768デフォルトの名無しさん
2010/03/21(日) 22:52:27DIBにbitbltでコピーしてDirectXのテクチャを作って貼り付け
拡大縮小表示ができるアプリを書いたけどヌルヌルに動いてるよ
0769デフォルトの名無しさん
2010/03/21(日) 23:03:25Aero切れば30以上でるのでAero切ることにします。
ぐぐったりしましたが解決方法なさそうなので
0770デフォルトの名無しさん
2010/03/21(日) 23:33:290771デフォルトの名無しさん
2010/03/21(日) 23:42:080772デフォルトの名無しさん
2010/03/21(日) 23:46:22ATI RadeonだってIntel GMAだって最近は型番に「HD」を入れてるだろ?
マーケティング的な意味合いもあるが、
基本的にはHDサイズのリアルタイム処理ができるようになったことを意味している。
地デジ対応でキャプチャを防ぐためにAero切りを行うのはまあ仕方ないが、
そうでもない単なる手抜きでそんな対応をするのはちとなあ、と人事ながら思うな。
0773デフォルトの名無しさん
2010/03/22(月) 04:32:20***.lpszMenuNameにメニューネームを登録するだけじゃ
メニューは表示されないのでしょうか?
リソースファイルにIDR_MENUがメニューとして作成されているのですが、
***.lpszMenuName = "IDR_MENU";
としても、メニューが現れません。なぜでしょうか?
0774デフォルトの名無しさん
2010/03/22(月) 04:34:29ヒント: 猫でもわかる
0775デフォルトの名無しさん
2010/03/22(月) 04:35:43ブラジルではよくあること
0776デフォルトの名無しさん
2010/03/22(月) 04:36:51そこにはそう書いてあったんですが、どうやってもメニューができないんです
0777デフォルトの名無しさん
2010/03/22(月) 04:38:54解説求む
0778デフォルトの名無しさん
2010/03/22(月) 04:42:57どこか別の所を間違えてないか?
猫に書いてあるそのままのコードは機能するか試したか?
0779デフォルトの名無しさん
2010/03/22(月) 04:43:17http://homepage2.nifty.com/c_lang/sdk/sdk_06.htm
よく読め。
0780デフォルトの名無しさん
2010/03/22(月) 04:45:47とすれば登録できました…。
猫でもわかるは嘘書きすぎですね…。
ウィンドウ定義時に
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst,
LPSTR lpszCmdLine, int nCmdShow)
のhPreInstの比較を行っているし…
32bitアプリでは絶対やっちゃいけないことなんじゃ…
http://homepage2.nifty.com/c_lang/sdk/sdk_00.htm
0781デフォルトの名無しさん
2010/03/22(月) 04:51:33わかってねーのはてめーだ。
06のサンプルでは"SAMPLE02"という名前でメニューリソースを
一緒にコンパイルしてるからWNDCLASSに"SAMPLE02"を与えるだけで勝手に探してくれる。
てめーがやってるのは整数値による指定だ。
だからMAKEINTRESOURCE(IDR_MENU)マクロの使用が必要だ。
0782デフォルトの名無しさん
2010/03/22(月) 04:58:030783デフォルトの名無しさん
2010/03/22(月) 04:58:48よく意味がわかりません。
詳しく
0784デフォルトの名無しさん
2010/03/22(月) 05:00:38あの…
普通に***.lpszMenuName = "IDR_MENU"; とやってもできなかったんですが汗
0785デフォルトの名無しさん
2010/03/22(月) 05:03:13アホかてめーは。
元にしてるサンプルと一言一句同じに書き写して動かないならともかく、
自分でかってに一部を書き換えてるんだから、その責任は自分でとれ。
0786デフォルトの名無しさん
2010/03/22(月) 05:05:250787デフォルトの名無しさん
2010/03/22(月) 05:09:55メニューのリソースの識別子を"IDR_MENU"で作ってないから。
"IDR_MENU"とIDR_MENUは別モノ。
"IDR_MENU"で作ってあれば、そのソースでちゃんと動く。
0788デフォルトの名無しさん
2010/03/22(月) 07:05:39高度だな・・・
0789デフォルトの名無しさん
2010/03/22(月) 07:26:11> 32bitアプリでは絶対やっちゃいけないことなんじゃ…
そんな事はないけど、常にNULLになるから比較とか意味のない無駄なコードだって事
その人はWin16の頃からやってるプログラマなので、つい書いてしまっただけだと思う
TEXTマクロ使ってなかったり、文字列にchar配列決め打ちとか
0790デフォルトの名無しさん
2010/03/22(月) 07:29:10馬鹿は今までの人生で全て人が間違ってた事にし続けたから、未だに改善もされず馬鹿なまま
0791デフォルトの名無しさん
2010/03/22(月) 08:02:59何箇所か読みかえる必要があるのは確かだな。
特に文字列部分は
char→TCHAR
”・・・”→_T("・・・")
とか。
あとはWin9x系でOKだけどNT系でNGなAPIとか。
#何かあったっけ?
0792デフォルトの名無しさん
2010/03/22(月) 08:36:11結局ビルドオプションを変更して両方で確認していないから、変更したらエラーを出しまくる。
両対応でないのなら素直に文字列にはLを付けろという話だ。
0793デフォルトの名無しさん
2010/03/22(月) 08:39:34MessageBox でなく MessageBoxW
... を使えば良いんですね
0794デフォルトの名無しさん
2010/03/22(月) 08:42:130795デフォルトの名無しさん
2010/03/22(月) 08:57:10わかってねーな。やっちゃいけないのは、複数起動の確認の為に
preinstが「NULL」以外である事を期待する事。
0796デフォルトの名無しさん
2010/03/22(月) 09:53:51更にはwindows.h系のヘッダも自分で用意すればいい訳ですね。
0797デフォルトの名無しさん
2010/03/22(月) 09:56:37どっちでもいいんじゃね
0798デフォルトの名無しさん
2010/03/22(月) 10:02:18C/C++以外の処理系使うときじゃ普通にやってることだしね
0799デフォルトの名無しさん
2010/03/22(月) 13:53:33hWndにNULLを入れている場合でも、呼び出し元のウィンドウが表示されていると
常に最前面に表示されていたので他に何か違いがあると思ったのですが、
原因はhWndにNULLを指定していることなのでしょうか?
0800デフォルトの名無しさん
2010/03/22(月) 14:03:170801デフォルトの名無しさん
2010/03/22(月) 18:20:51表示させると、メモリ使用量が一気に 4000K ほど増加し、OK またはキャンセルを
実行しても使用量が元に戻らないのですが、これはそういうものなのでしょうか?
0802デフォルトの名無しさん
2010/03/22(月) 18:31:23ウィルスの感染を疑おう
0803デフォルトの名無しさん
2010/03/22(月) 18:59:39デバッガの出力を見てみ
呼び出したときに大量のDLL読み込んでそのまま解放してないからしかたがない
そういうもんだ
0804デフォルトの名無しさん
2010/03/22(月) 19:53:310805デフォルトの名無しさん
2010/03/22(月) 22:40:32エディットやリストボックスの枠が立体的に表示されるのに
普通にcreatewindowで作るとただの黒い線の枠(ビジュアルスタイルにしても)になるのはなんで?
0806デフォルトの名無しさん
2010/03/22(月) 22:57:260807デフォルトの名無しさん
2010/03/22(月) 23:00:32ちゃんとスタイル指定すればダイアログとかと同じになるよ
0808デフォルトの名無しさん
2010/03/23(火) 01:47:15API使う場合は_TCHARが普通だっけ?
#やべ、意識してなかったw
0809デフォルトの名無しさん
2010/03/23(火) 02:09:42Win32API というより、コモンコントロール話になるんですが、
ツールバーへ TB_ADDSTRING で SendMessage した文字列を
変更したいんです。
要は、ツールボタンの文字を変更したいんですが、
その際に文字列リソースへのインデックスもきれいにしたいんです。
(前回追加した文字列はツールバーの文字列リソース上に残しておきたくないんです)
変更またはまっさらにする方法を教えてエロい人!!
0810デフォルトの名無しさん
2010/03/23(火) 02:25:26新しくツールバーを作り直して必要なデータをコピーする
0811デフォルトの名無しさん
2010/03/23(火) 07:16:56_TCHARはtchar.h、TCHARはwinnt.hで宣言されている。
VC2008付属のヘッダだと、/Zaでコンパイルしなければtchar.hでもTCHARは使えるけど。
昔どうだったかは流石に覚えていないな。
0812デフォルトの名無しさん
2010/03/23(火) 09:22:12この値を使ってタイマをセットしたいのですが。
0813デフォルトの名無しさん
2010/03/23(火) 09:43:19APIで学ぶWindows徹底理解 安室浩和
アマゾンではこの本の評価が高いようですが
これを買っておけば間違いないでしょうか・・
ちなみにAPIに関する知識はまるでないです
0814デフォルトの名無しさん
2010/03/23(火) 10:14:550815デフォルトの名無しさん
2010/03/23(火) 10:18:220816デフォルトの名無しさん
2010/03/23(火) 10:24:20いや、するだろ。常識的に考えて。
0817デフォルトの名無しさん
2010/03/23(火) 10:45:310818デフォルトの名無しさん
2010/03/23(火) 10:53:27これ読んだらAdvanced Windowsな
0819デフォルトの名無しさん
2010/03/23(火) 11:03:13_UNICODEはCRT/ATL/MFC
UNICODEはWin23API
msacm.hとか例外もあるし片側が定義されていると自動的に定義される場合もある
0820デフォルトの名無しさん
2010/03/23(火) 11:55:46>>812
SystemParametersInfo関数でSPI_GETKEYBOARDDELAY指定
http://msdn.microsoft.com/ja-jp/library/cc429946.aspx
0821デフォルトの名無しさん
2010/03/23(火) 12:04:09GetSystemMetricsとか探してました。
ありがとうございます。
ただこれ、戻り値は0〜3で、実際のミリ秒ではないのですね。
250*(戻り値-1)でよさそうな感じだけど、
「ハードウェアによって異なることがあります」とか微妙なこと書いてあるし。
0822デフォルトの名無しさん
2010/03/23(火) 12:04:55250*(戻り値+1)です。
0823デフォルトの名無しさん
2010/03/23(火) 13:11:270824デフォルトの名無しさん
2010/03/23(火) 13:17:51はミリ秒で設定するわけじゃなくてトラックバーでの4段階じゃないか
0825デフォルトの名無しさん
2010/03/23(火) 14:13:07インターネットのプロパティのセキュリティレベルのように、
いくつかの段階をプリセット値として選択できるようになっていて、
OS内部ではミリ秒単位で持ってるのかなと思ってました。
OS自体は0〜3の値で管理していて、それに対応する実際のミリ秒単位の値は
ハードウェアが独自に関連付けているということになるのですね。
0826デフォルトの名無しさん
2010/03/23(火) 14:14:310827デフォルトの名無しさん
2010/03/23(火) 14:18:31設定する方法はあったよ
0828デフォルトの名無しさん
2010/03/23(火) 16:39:330829デフォルトの名無しさん
2010/03/23(火) 16:50:360830デフォルトの名無しさん
2010/03/23(火) 16:52:240831デフォルトの名無しさん
2010/03/23(火) 16:57:24プライドが大事なら自分でなんとかしろ
0832デフォルトの名無しさん
2010/03/23(火) 17:04:130833デフォルトの名無しさん
2010/03/23(火) 17:47:57SPI_GETKEYBOARDDELAY キーボード表示 (キーボード リピート) 開始までの待ち時間設定。
SPI_GETKEYBOARDSPEED キーボード表示の間隔 (キーボードリピートの速度) 設定。
SPI_GETFILTERKEYS 上記の拡張範囲。
0834デフォルトの名無しさん
2010/03/23(火) 18:09:450835デフォルトの名無しさん
2010/03/23(火) 18:52:47ありがとうございます。
さっそく以下のように試してみましたが、FILTERKEYSのiDelayMSecは1000になりました。
FILTERKEYS keys;
keys.cbSize = sizeof(keys);
SystemParametersInfo(SPI_GETFILTERKEYS, sizeof(keys), &keys, 0);
実際には右端に設定しているので250が入るはずなのですが、
ちょっと違う値になっているようです。
0836デフォルトの名無しさん
2010/03/23(火) 23:42:140837デフォルトの名無しさん
2010/03/23(火) 23:43:180838デフォルトの名無しさん
2010/03/24(水) 01:22:29APIで解決する方法があればと思い質問させていただきます。
VisualStudioから実行したプロセスがCreateProcess()した際に、
生成された子プロセスも自動的に同じVisualStudioに
アタッチされるようにしておき、子プロセスのコードの
ブレークポイントでも止まるようにしたいのですが、
どうすればできるでしょうか。
生成する子プロセスの数が多いので、
ひとつひとつ手でアタッチというのは避けたいです。
環境はVisualStudio2008です。
0839デフォルトの名無しさん
2010/03/24(水) 07:16:32勝手にデバッグ対象にならないか?
0840デフォルトの名無しさん
2010/03/24(水) 07:44:59とりあえず UNICODEとANSIの場合、TCHAR型で、TEXT("")を使っとけってこと?
んで、もっと豊富な文字コードの互換性考えたかったら_UNICODEで_TCHARで_T("")使っとけってこと?
どういうこと?
0841デフォルトの名無しさん
2010/03/24(水) 08:10:22えーっとちょっといろいろプログラム動かして試してみたけど
UNICODEをdefineすると、VC++(WinSDK上?)では必然的に処理上_UNICODEとなる。
undefしてない限り必ず_UNICODE
_UNICODE定義になるならCRTで_TCHARや_T("")使っとかないといろいろおかしいよね?ってことかな
ちなみに直接_UNICODEを定義したときとUNICODEを定義(結局処理系では_UNICODEになる)をしたとき
TEXTマクロにおいてはそのサイズが2倍差となっていた。ようするに
_UNICODEとUNICODEにTEXT("")では互換性がないってことかな?
_T("")に関しては_UNICODEでもUNICODEもサイズ変化なしだった(もちろん_UNICODEをundefしちゃまずいが)
ま、ようするに_TCHARと_T("")なら_UNICODEでもUNICODEでもサイズは同じだが
TCHARとTEXT("")は_UNICODEとUNICODEでサイズが違うから将来的な互換性がないかもしれないってことだな
結論
_TCHARと_T("")使っとけ
これでおk?
0842デフォルトの名無しさん
2010/03/24(水) 08:21:51処理系定義 _TCHAR/_T/_TEXT/_UNICODE
このスレ的には前者を使うべき
0843デフォルトの名無しさん
2010/03/24(水) 08:23:54でも処理系で_UNICODEになるんだよね?どっちも
定義の時点でUNICODEなのは別にいいんだが、どのみち_UNICODEになる以上
_TCHAR/_T("")使わないと互換性ないんじゃないの?
TCHAR/TEXT("")は俺が動かしたプログラムの結果、UNICODEと_UNICODEでメモリのサイズが変わってしまったので
使わないほうがいいと感じた
0844デフォルトの名無しさん
2010/03/24(水) 08:29:26いや、上使っても別に文句はいわないが、
UNICODE定義と_UNICODE定義のときにTEXTマクロだけサイズが変わってたぞ
だからTEXTマクロは互換性考えてつかわないほうがいいんじゃない?
TEXTマクロつかわないなら、最初から全部処理系定義に統一させて
処理系定義 _TCHAR/_T/_TEXT/_UNICODE
つかう方がいいんじゃないの?
#define UNICODEしても、SDK上では
#undef _UNICODEしておかないとどのみち、_UNICODEになるから
最初から#define _UNICODEしてるのと同じだよ たぶん
0845デフォルトの名無しさん
2010/03/24(水) 08:30:370846デフォルトの名無しさん
2010/03/24(水) 08:40:22MessageBox(NULL, _T("_Tマクロ"),....
であるとき_UNICODEだけを指定するとエラーになるのわかってて言ってる?
0847デフォルトの名無しさん
2010/03/24(水) 08:45:42- TCHAR, TEXT, UNICODE, AW切り替えマクロ
- _TCHAR, _TEXT, _UNICODE
これらはセットなのでどっちかに統一すればいいだけの話
0848デフォルトの名無しさん
2010/03/24(水) 08:55:06_TCHAR / char / char / wchar_t
_tfinddata_t / _finddata_t / _finddata_t / _wfinddata_t
_tfinddata64_t / __finddata64_t / __finddata64_t / __wfinddata64_t
_tfinddatai64_t / _finddatai64_t / _finddatai64_t / _wfinddatai64_t
_TINT / int / int / wint_t
_TSCHAR / signed char / signed char / wchar_t
_TUCHAR / unsigned char / unsigned char / wchar_t
_TXCHAR / char / unsigned char / wchar_t
_T または _TEXT / 影響なし (プリプロセッサによって削除される) / 影響なし (プリプロセッサによって削除される) / L (後続の文字や文字列を対応する Unicode の文字や文字列に変換する)
0849デフォルトの名無しさん
2010/03/24(水) 08:59:22http://msdn.microsoft.com/library/c426s321
0850デフォルトの名無しさん
2010/03/24(水) 09:11:04あんま考えずにそれに従っていたけどいろいろあんだなぁ
ググった結果、ここのYuOって人のコメントがまとまってて分かりやすいと思った
ttp://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200711/07110005.txt
0851デフォルトの名無しさん
2010/03/24(水) 09:15:38LPTSTRがLPSTR(つまりchar*)
TEXTマクロはLPTSTR(つまりchar*)
TCHARはwchar_t,
_Tマクロはリテラル補助のLに置き換えられる。
・UNICODE
LPTSTRがLPWSTR(つまりwchar_t*)
TEXTマクロはLPTSTR(つまりwchar_t*)
TCHARはchar,
_Tマクロは無効化される
・_UNICODEとUNICODE
LPTSTRがLPWSTR(つまりwchar_t*)
TEXTマクロはLPTSTR(つまりwchar_t*)
TCHARはwchar_t,
_Tマクロはリテラル補助のLに置き換えられる。
0852デフォルトの名無しさん
2010/03/24(水) 09:27:04普通にSDK使うときは何使えばいいんだよ!!!!!!!
つか、そこまで考える必要あんの?
0853デフォルトの名無しさん
2010/03/24(水) 09:28:39>TCHARはwchar_t,
>・UNICODE
>TCHARはchar,
ここがダウト、ソース>>850
>TCHARはWindows SDKとCRTの両方で定義されているので,複雑な変化をします。
>CRT系の定義が先に読み込まれた場合は_UNICODEに依存
>Windows SDK系の定義が先に読み込まれた場合はUNICODEに依存
0854デフォルトの名無しさん
2010/03/24(水) 09:31:35どっちかにそろえるべき
いいかげんEXとか_とかで機能拡張するのやめて欲しいんだけどなあw
0855デフォルトの名無しさん
2010/03/24(水) 09:41:460856デフォルトの名無しさん
2010/03/24(水) 09:41:48CreateFileの引数にはTEXTをつかう。
それだけの話だろう
0857デフォルトの名無しさん
2010/03/24(水) 09:42:38アンダーライン系は標準Cに準拠しつつもユニコードビルドにも対応するコンソールアプリを作りたい場合のみ使う
安全のためUNICODEと_UNICODEはセットで先頭で定義するべき
一部のヘッダではUNICODEを定義した場合に勝手に_UNICODEを定義されたりその逆もあるので片側だけ定義するとインクルードの順番次第では整合性が取れなくなる
0858デフォルトの名無しさん
2010/03/24(水) 09:48:32>>850をちゃんとを実行してみた?
_UNICODEとUNICODEを入れ替えて?
そかもプリプロセス展開した?
0859デフォルトの名無しさん
2010/03/24(水) 09:49:120860デフォルトの名無しさん
2010/03/24(水) 11:26:58wchar_t と L"" 使うようにすればいいだけなんじゃないの?
0861デフォルトの名無しさん
2010/03/24(水) 11:51:44そもそも wchar_t と L"" 自体がマクロなわけですが何か?
個人的には
TCHAR、LPTSTR、_T() マクロの使用して常に両対応できるようにしておくことをおすすめする。
0862デフォルトの名無しさん
2010/03/24(水) 11:54:010863デフォルトの名無しさん
2010/03/24(水) 11:56:06そうだったのかー
0864デフォルトの名無しさん
2010/03/24(水) 11:57:00これは恥ずかしい
0865デフォルトの名無しさん
2010/03/24(水) 11:59:59> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
> L"" 自体がマクロなわけですが何か?
0866デフォルトの名無しさん
2010/03/24(水) 12:19:25知らなった。どうもありがとう。
http://msdn.microsoft.com/ja-jp/library/6aw8xdf2.aspx
gccでもそうであることを追試した。
そりゃあそうだ。どこかでshort,int文字型の文字列リテラルが認識出来なかったら
UNICODEビルドなんてできないもんなぁ。
0867デフォルトの名無しさん
2010/03/24(水) 12:24:21wchar_tはC89、つまり20年前からの標準
wcs〜系の関数もC95、つまり15年からの標準
MSすらWin9x系サポートをとっくの昔に放棄し
VC++はWin9x系で動作するバイナリを出力しなくなっているのに
TCHARとかいううんこに真面目に付き合う意味があるとは俺には思えんな
0868デフォルトの名無しさん
2010/03/24(水) 12:26:20説明するのも面倒だからTCHARで説明するのがいいw
0869デフォルトの名無しさん
2010/03/24(水) 12:26:280870デフォルトの名無しさん
2010/03/24(水) 12:32:28いいたいことは分からないでもないが、
L""な文字列を真面目に扱ってる処理系なんてWindowsくらいなものだろ?
Unix系のプロダクトでワード文字列を使ってるソースコードなんて見たこと無いぞ。
もっぱらUTF-8をバイト文字列で扱うものばかりだ。
Windows向けに書いたコードをそのままUnixに移植したいというケースはあまり多くないけど、
両対応にするにはTCHAR/_T()で統一しておくのが一番簡単じゃね?
0871デフォルトの名無しさん
2010/03/24(水) 12:38:29自分で試してもいないソリューションを言ってるのが丸分かりだな……
Unix系のプロダクトで云々〜も、単にお前が無知なだけ
UTF-8(というかUnicode)が広く使われるようになるずっと前からxlibは
wchar_tを使っていたし、BSDのCitrusのように、Unicodeベースではないi18n
実装もある
0872デフォルトの名無しさん
2010/03/24(水) 12:39:280873デフォルトの名無しさん
2010/03/24(水) 12:40:08/ \ /\
| (゚)=(゚) | 人人人人人人人人人人人人人人人人人人人人
| ●_● | < どうでもいいが誰にも迷惑かけずにUNICODE>
/ ヽ < を扱えよな >
| 〃 ------ ヾ | YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
\__二__ノ
∩ ∩
| | | |
| |__| |
./ 一 ー \ 人人人人人人人人人人人
/ (・) (・) | <そんな方法あるの?>
| ○ | YYYYYYYYYYYYYYYY
\__ ─ __ノ
∩_∩
/ \ /\
| (^)=(^) | 人人人人人人人人人人
| ●_● | < Lマクロってことだよ >
/ // ///ヽ <言わせんな恥ずかしい>
| 〃 ------ ヾ | YYYYYYYYYYYYYY
\__二__ノ
0874デフォルトの名無しさん
2010/03/24(水) 12:57:43wchar_tがC/C++の標準規格にあり、xlib等で標準的に使われてるのも分かった。
けどそれがTCHAR系を使用しないというポリシーの積極的な根拠にはならないよね。
>>872
ない。しかし高々数個のマクロを再定義するくらいだから大した事はないはず。
今回の議論のためにGTK+とapache-2.2のソースコードを調べたが、
GTK+ではwin32とx11周り、apacheではwin32周りの対応でwchar_tを使用している。
同じくapacheではwin32周りでTCHARも使用している。
apacheではAPRライブラリ内にucs2<->UTF-8のコンバーターがあり、
大半のコードはシングルバイト(char)で記述されている。
GTK+では確認してないが、ほぼ全てのソースコードでcharが使われてるのはapacheと同じ。
0875デフォルトの名無しさん
2010/03/24(水) 13:01:18マクロだらけで別の言語みたいになる
0876デフォルトの名無しさん
2010/03/24(水) 13:03:41いい加減スレ違い
0877デフォルトの名無しさん
2010/03/24(水) 13:19:550878デフォルトの名無しさん
2010/03/24(水) 13:38:43ある意味凄いな
悪いけどお前の「おすすめ」なんて誰も聞かないと思うよ
0879デフォルトの名無しさん
2010/03/24(水) 13:53:32まぁ2000からGDIの文字列出力がウニ子なんでウニ子でビルドしないと
内部変換噛まされるという現実があるが
0880デフォルトの名無しさん
2010/03/24(水) 13:53:41wchar_tにUTF-16のような可変長のデータを格納するのは本来不適切
互換性のためとはいえVisualC++等の実装は腐っている
WCHARとwchar_tは偶然一致しているだけの別物と考えるべき
だからWCHARとLもセットで使うべきではなくTEXTを用いるべき
0881デフォルトの名無しさん
2010/03/24(水) 14:01:08>互換性のためとはいえVisualC++等の実装は腐っている
>WCHARとwchar_tは偶然一致しているだけの別物と考えるべき
>だからWCHARとLもセットで使うべきではなくTEXTを用いるべき
????
書く前によく推敲しような。
0882デフォルトの名無しさん
2010/03/24(水) 14:02:14> TCHAR版のCRT使っておきたければ
別に要らないでしょ、そんなものは
0883デフォルトの名無しさん
2010/03/24(水) 14:04:18いやそこはあってるだろ
0884デフォルトの名無しさん
2010/03/24(水) 14:19:520885デフォルトの名無しさん
2010/03/24(水) 14:22:500886デフォルトの名無しさん
2010/03/24(水) 14:23:29- L"..."の型はwchar_t[n]
- WindowsAPIの1実装であるマイクロソフトのWindowsで
WCHARがwchar_tのtypedefだったからといって
他の実装でもそうなっているとは限らない。
したがって、L"..."の型をWCHAR[n]と期待するのはセマンティクスとしておかしい
0887デフォルトの名無しさん
2010/03/24(水) 14:24:22それはLPSTRだけど
0888デフォルトの名無しさん
2010/03/24(水) 14:24:46WCHARがそもそもマイクロソフトがWindowsのために定義しているマクロじゃないかw
0889デフォルトの名無しさん
2010/03/24(水) 14:30:280890デフォルトの名無しさん
2010/03/24(水) 14:30:55WindowsAPIにはWineのような互換実装が他に存在しえて
そのような環境向けの言語処理系でwchar_tがWCHARと互換がない可能性がある
0891デフォルトの名無しさん
2010/03/24(水) 14:31:500892デフォルトの名無しさん
2010/03/24(水) 14:33:36どうしても文字型を隠蔽したいのならtemplate使えよ
basic_string<ほげ>でいいだろ
標準でも何でもない、MSのドキュソマクロじゃなくてさ
0893デフォルトの名無しさん
2010/03/24(水) 14:35:44>Unix系のプロダクトでワード文字列を使ってるソースコードなんて見たこと無いぞ。
へー w
0894デフォルトの名無しさん
2010/03/24(水) 14:36:000895デフォルトの名無しさん
2010/03/24(水) 14:38:02リテラルの型の話してんだよアホ
0896デフォルトの名無しさん
2010/03/24(水) 14:41:21お前が何派だか分からんが、WCHAR == wchar_tを仮定できないのなら
TEXTマクロもリテラルの代わりに使えないのは分かるだろ
WCHARの内部表現がコンパイラがサポートしていない型なら、
実行時計算するしかないからな
つまり無駄な努力なんだよ
0897デフォルトの名無しさん
2010/03/24(水) 14:44:53コンパイラはchar/wchar_t以外の文字列型を持っていても構わない
0898デフォルトの名無しさん
2010/03/24(水) 14:46:17ははは
擁護もここまで行くと基地害見てるわ
第三の文字列リテラル型か
非標準どころか、存在すらしないコンパイラのことまで考えて妄想してたのな
電波もここまで行くとついていけんわ
0899デフォルトの名無しさん
2010/03/24(水) 14:48:17落ち着こうぜ
0900デフォルトの名無しさん
2010/03/24(水) 14:48:52まあ無駄な努力ではあるな
0901デフォルトの名無しさん
2010/03/24(水) 14:56:24さくっとC1XやC++1xを取り込んでしまえばいいだけの話だよ
UTF-16リテラルが増えてかえって今より状況がよくなるかもしれん
0902デフォルトの名無しさん
2010/03/24(水) 14:58:29どのみちそのまま動かなくなる可能性のが大だと思うぞ
0903デフォルトの名無しさん
2010/03/24(水) 15:04:40いやいや、きちんと書かれているプログラムは16bit時代のでも、
いまの64bitのWindows7でソースコードレベルの互換性がほぼ保たれているもの
MSはここだけは気を遣ってるから
16bitから32bitに移行するときに躓いたり
MBCS/Unicodeビルドの両方を提供するので困ったり
XPからVistaに移行するときに急に動かなくなったり
64bit対応するのに大幅な改修が必要だったりするのは
大抵は型の大きさに勝手な仮定を置いていたことが問題じゃないのかね
0904デフォルトの名無しさん
2010/03/24(水) 15:08:200905デフォルトの名無しさん
2010/03/24(水) 15:24:560906デフォルトの名無しさん
2010/03/24(水) 16:01:04知ったか発見
0907デフォルトの名無しさん
2010/03/24(水) 17:07:06正しい答えは何だよ
いい加減FAだせ
0908デフォルトの名無しさん
2010/03/24(水) 17:19:52そもそも答えは一つじゃない。
0909デフォルトの名無しさん
2010/03/24(水) 17:59:560910デフォルトの名無しさん
2010/03/24(水) 21:16:41素敵
0911デフォルトの名無しさん
2010/03/24(水) 21:27:26素敵
0912デフォルトの名無しさん
2010/03/24(水) 22:18:140913デフォルトの名無しさん
2010/03/24(水) 22:25:390914デフォルトの名無しさん
2010/03/24(水) 22:25:590915デフォルトの名無しさん
2010/03/24(水) 22:27:25ネットワークプリンタがやってるように、
LAN上のある特定の(自作)サーバープログラムを検出することは可能でしょうか?
NetServerEnumでマシン一覧を取ってきて、
順番にポートを叩くという方法を思いついたのですが、
流石にスマートではないですよね。
0916デフォルトの名無しさん
2010/03/24(水) 22:32:480917デフォルトの名無しさん
2010/03/24(水) 22:32:520918デフォルトの名無しさん
2010/03/25(木) 02:33:17アプリケーション起動時にパスワードを入れないと動作しないような
機能を実装したいのですが、Win32のAPIに暗号化アルゴリズムはありますか?
0919デフォルトの名無しさん
2010/03/25(木) 04:19:01DPAPI
0920デフォルトの名無しさん
2010/03/25(木) 05:41:25PCTSTRは定数文字列だから、直接リテラル指定してもいいけど、PTSTRは非定数文字列だから文字列リテラルじゃダメでバッファ指定ってことでおk?
例
Sample(PTSTR, PCTSTR)
↑こういうAPIがあったとき
Sample(TEXT("AAA"), TEXT("AAA"))
ではなく、
TCHAR buf[] = "AAA"
Sample(buf, TEXT("AAA"))
と使わなければエラーになる場合がある
質問2
PTSTRとLPTSTRって全く同じものと考えていいの?
初心者的質問だけど回答お願い
0921デフォルトの名無しさん
2010/03/25(木) 05:54:151. ok.
2. 現在はPSTRはLPSTRの別名という扱いになっている
0922デフォルトの名無しさん
2010/03/25(木) 06:12:05GetCurrentDirectory(256, &buf); //buf[256]
としたのですが、bufをprintfすると、「C」としか表示されません。
これはCドライブがカレントディレクトリという意味なのでしょうか?
「C:\」と表示されないとおかしいと思っているのですが、間違いでしょうか?
また、SetCurrentDirectory(TEXT("C:\\WINDOWS"));としたにもかかわらず
GetCurrentDirectory(256, &buf);とするとやはり、bufの中身は「C」としか表示されません。
何か思い当たる原因などありますでしょうか?
0923デフォルトの名無しさん
2010/03/25(木) 06:21:48ワイド文字をprintfなんてしちゃうから
0924デフォルトの名無しさん
2010/03/25(木) 07:54:24wincrypt.h
0925デフォルトの名無しさん
2010/03/25(木) 08:14:51簡易デバッグはMessageBoxでおk
0926デフォルトの名無しさん
2010/03/25(木) 08:18:440927デフォルトの名無しさん
2010/03/25(木) 09:59:46朝鮮pedia1ページ分の知識しか無い奴が全く無関心な奴に妙な優越感持っちゃってんだろ
0928デフォルトの名無しさん
2010/03/25(木) 10:11:310929デフォルトの名無しさん
2010/03/25(木) 12:47:17字数が少なくなって当然な事に、なんと!ハングルは英アルファベット四文字を一単語に集約して表記できるんだ
浅知恵というか、やっぱりと言うか訓読みの「糎」なぞには全然敵わんのだが
0930デフォルトの名無しさん
2010/03/25(木) 12:53:37ハングル大移動だよwww
0931デフォルトの名無しさん
2010/03/25(木) 15:00:57の最後に試してくださいって書いてあるやつの3つ目の作りかたが
わかりません。ヒントをください
0932デフォルトの名無しさん
2010/03/25(木) 15:03:04マウスクリックされたイベントでカーソルの位置を保存しておき、
WM_PAINTでその位置の色を変更するだけだろ。
0933デフォルトの名無しさん
2010/03/25(木) 16:19:05i= MessageBox(hwnd, Message, Title, MB_OK);
Set timer
時間経過→ SendMessage(?,WM_KEYDOWN,VK_RETURN,0);
Killtimer
SendMessageでMessageBoxにエンター入力して表示を消すつもりです。
WM_KEYDOWNにVK_RETURNを送るとエンターの入力になりますよね?
また、MessageBoxのハンドルをどうやって所得すればよいのか解りません。
0934デフォルトの名無しさん
2010/03/25(木) 16:41:18そんな怪しい処理作らずに
自分でダイアログ作って時間が経ったら消えるようにしたら?
0935デフォルトの名無しさん
2010/03/25(木) 16:44:14http://support.microsoft.com/kb/181934/ja
0936デフォルトの名無しさん
2010/03/25(木) 17:06:08PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE);が成功してないのかMessageBoxと一緒に
プログラムも終了してしまいます。原因が解らない程レベルが低いので別の処理で代用しようかと思いました。
やっぱ邪道すぎますかね? ダイアログ勉強してみます。
0937デフォルトの名無しさん
2010/03/25(木) 18:13:540938デフォルトの名無しさん
2010/03/25(木) 20:42:03俺はそうしてるけど
0939デフォルトの名無しさん
2010/03/26(金) 01:01:56MAX_PATH + 1で定義したほうがいい?
0940デフォルトの名無しさん
2010/03/26(金) 01:18:30+1しないでいい。
0941デフォルトの名無しさん
2010/03/26(金) 01:19:26MSDNにも+1されてるサンプルがいくつかある
0942デフォルトの名無しさん
2010/03/26(金) 04:26:07ワイドキャラの場合はMAX_PATH*2っていう書き方で良いんだよね?
そうしないとどう考えても文字数が足らないんだけど。
もしかして間違ってる?
0943デフォルトの名無しさん
2010/03/26(金) 06:55:000944デフォルトの名無しさん
2010/03/26(金) 07:12:21あと何秒で閉じるかカウントダウン表示ってできませんか?
0945デフォルトの名無しさん
2010/03/26(金) 07:18:10間違えた
ワイドキャラはワイドだから関係ないわw
std::string なんかだとMAX_PATH*2しないとだめだな。
0946デフォルトの名無しさん
2010/03/26(金) 07:28:190947デフォルトの名無しさん
2010/03/26(金) 07:29:030948デフォルトの名無しさん
2010/03/26(金) 07:53:430949デフォルトの名無しさん
2010/03/26(金) 08:10:060950デフォルトの名無しさん
2010/03/26(金) 08:53:480951デフォルトの名無しさん
2010/03/26(金) 09:53:100952デフォルトの名無しさん
2010/03/26(金) 09:58:55っってかスレ違い
0953デフォルトの名無しさん
2010/03/26(金) 12:14:57何もかもめどいが
おれはあきめらない!
0954デフォルトの名無しさん
2010/03/26(金) 12:53:05毎晩私にMFCを使うおとこの人って…
0955デフォルトの名無しさん
2010/03/26(金) 14:07:48tr1::mt19937::minなどのメソッドが使えなくなってしまいます
min maxを使うソースファイル単位でmin maxを#undefで消してしまっても問題ないでしょうか?
0956デフォルトの名無しさん
2010/03/26(金) 14:13:420957デフォルトの名無しさん
2010/03/26(金) 15:09:24今はATLならddkに入ってるから最新版が簡単に使えるよ\(^o^)/
0958デフォルトの名無しさん
2010/03/26(金) 15:58:35先月でたWDK7.1の_ATL_VERは0x0800
もっと新しいDDKがあるのだろうか
0959デフォルトの名無しさん
2010/03/26(金) 16:00:180960デフォルトの名無しさん
2010/03/26(金) 16:12:550961アプリケーションの終了
2010/03/26(金) 19:25:09taskmgr.exe や、calc.exe を終了させることはできたのですが、
肝心の終了させたいアプリ(仮にアプリAとします)は、OpenProcess()に失敗し、終了させることができません。
cygwin の kill.exe -f でもアプリAは終了させることができません。
しかしアプリAはタスクマネージャからは終了させることができます。
中心となる処理は以下のようです(インデントがおかしくなると思いますがすいません)。
何か他に必要となる処理(API)があれば教えていただけないでしょうか。
snapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
for (Process32First(snapShot, entry); Process32Next(snapShot, entry);)
{
if (strcmp(entry->szExeFile, argv[1]) == 0)
{
terminateId = OpenProcess(PROCESS_TERMINATE, 0, entry->th32ProcessID);
if (terminateId == NULL) { printf("\n Access failed. \n"); return 1; }
TerminateProcess(terminateId, 0);
return 0;
}
}
0962デフォルトの名無しさん
2010/03/26(金) 19:51:220963デフォルトの名無しさん
2010/03/26(金) 20:00:47SendMessage(ListView,LVM_INSERTCOLUMN,0,&column);
・マルチバイトビルドでLVM_INSERTCOLUMNを送ると死ぬ
・MSDNでは、lparamはconst LPLVCOLUMNとある
・Unicodeじゃないからcomctl32 v6を使うマニフェストは無し
・Unicodeビルドだとconst定義でも問題なし
どういうことなの‥‥
>>961
殺す前にデバッグ特権を有効にしてないか?
0964デフォルトの名無しさん
2010/03/26(金) 22:18:46(xxx.min)()
0965デフォルトの名無しさん
2010/03/26(金) 23:48:09static が駄目とか
0966デフォルトの名無しさん
2010/03/27(土) 01:24:00管理者権限で実行しても駄目?
0967デフォルトの名無しさん
2010/03/27(土) 05:43:35デバック出力の関数で出力するしかない?
たとえばHANDLEやDWORDやTCHARやintがごちゃまぜになってる構造体のメンバ変数を
すべて一度に参照したいんだけど
0968デフォルトの名無しさん
2010/03/27(土) 05:47:01そのときに使う関数はOutputDebugStringであってる?
0969デフォルトの名無しさん
2010/03/27(土) 06:20:20一応あってるけど、普通デバッガでブレークポイント使わない?
0970デフォルトの名無しさん
2010/03/27(土) 17:59:26( ・∀・)つ〃∩ ヘェーヘェーヘェー
0971デフォルトの名無しさん
2010/03/27(土) 18:11:130972デフォルトの名無しさん
2010/03/27(土) 18:13:150973デフォルトの名無しさん
2010/03/27(土) 18:47:590974デフォルトの名無しさん
2010/03/27(土) 22:10:410975デフォルトの名無しさん
2010/03/27(土) 22:18:58プロシージャ外じゃないと駄目なんて事は
0976デフォルトの名無しさん
2010/03/27(土) 22:30:20別にそれで問題ないと思うけど。
0977デフォルトの名無しさん
2010/03/27(土) 22:47:360978デフォルトの名無しさん
2010/03/28(日) 00:17:32>上記で誤って作成されたフォルダを「エクスプローラ」上で削除した場合、以前より存在する「My Documents」(2000/XPの場合)
>または「Documents」(Vista/7の場合表示上は「ドキュメント」)が「エクスプローラ」自体の問題により削除される危険があります。
なんじゃこりゃ
ひどすぎないか
0979デフォルトの名無しさん
2010/03/28(日) 00:27:04(Windowsの)仕様ですキリッ
0980デフォルトの名無しさん
2010/03/28(日) 00:32:10アクセスするときは区別されないって
Windowsって馬鹿じゃないの?死ぬの?
0981デフォルトの名無しさん
2010/03/28(日) 00:42:020982デフォルトの名無しさん
2010/03/28(日) 01:06:560983デフォルトの名無しさん
2010/03/28(日) 03:04:15最後に空白を付けたファイル名を渡しても、
その空白を取り除いたファイルを対象にしてしまうみたいだ。(x64版Windows7)
ちなみに、「\\?\」プリフィックス付じゃないと、
空白で終了するファイル名はCreateFile等では無効扱いされる。
インストーラが頑張り過ぎたのも、結果的に一因となってしまっているな。
0984デフォルトの名無しさん
2010/03/28(日) 03:08:04そこまでやってくれるなら、逆に「空白つき」のフォルダを作る方法のほうが知りたくなってくるな。
0985983
2010/03/28(日) 03:08:190986デフォルトの名無しさん
2010/03/28(日) 03:42:29パス解析無効(\\?\を付ける)でないと付けられないって事は
Win32サブシステムの制約なのかしら
POSIXサブシステムなら話は変わるかもしれんが‥‥そこはスレ違いか
0987デフォルトの名無しさん
2010/03/28(日) 03:46:590988983
2010/03/28(日) 03:51:28CreateDirectory/RemoveDirectoryの仕様がファイルとは微妙に違うな。
末尾に空白があると、それを取り除いた上で処理されるみたいだ。
ディレクトリに関してだけで言えば、SHFileOperationが原因とは言い切れないか。
0989983
2010/03/28(日) 03:58:040990デフォルトの名無しさん
2010/03/28(日) 04:33:23ttp://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#namespaces
NTFS 的には空白末尾制限や、MAX_PATH でのパス名制限は無いってことだね
cygwin は常にこの表記でアクセスしてるのかな。
0991デフォルトの名無しさん
2010/03/28(日) 07:12:100992デフォルトの名無しさん
2010/03/28(日) 08:38:08bash-3.2$ ls
a b c
bash-3.2$ mkdir "a "
mkdir: cannot create directory `a ': File exists
bash-3.2$ mkdir "d "
bash-3.2$ ls -l
total 0
drwxrwxrwx+ 2 user なし 0 Mar 28 08:35 a
drwxrwxrwx+ 2 user なし 0 Mar 28 08:35 b
drwxrwxrwx+ 2 user なし 0 Mar 28 08:35 c
drwxrwxrwx+ 2 user なし 0 Mar 28 08:36 d
bash-3.2$
0993デフォルトの名無しさん
2010/03/28(日) 08:50:29SampleRoutine(0, NULL, NULL, &buf)
みたいに。0とNULLをあえて使い分ける理由ってなんかあんの?
0994デフォルトの名無しさん
2010/03/28(日) 09:09:20ってだけ
TRUEとFALSEもAPIではnon-zero/zeroだから実際に値指定してもいいけど
ぱっと見てBOOLだと分かる方がいいのでやらない
0995デフォルトの名無しさん
2010/03/28(日) 09:12:080996デフォルトの名無しさん
2010/03/28(日) 09:15:570997デフォルトの名無しさん
2010/03/28(日) 09:35:06やっぱただそういうことだったんね
0998デフォルトの名無しさん
2010/03/28(日) 09:47:090999デフォルトの名無しさん
2010/03/28(日) 10:19:24みたいなことはしてもいいと思う
1000デフォルトの名無しさん
2010/03/28(日) 10:20:2810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。