1 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:00 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ! 過去スレ、関連リンクは>>2-10 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build85 pc12.2ch.net/test/read.cgi/tech/1262430441/
2 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:45 ] 84 ttp://pc12.2ch.net/test/read.cgi/tech/1259478896/ 83 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/
3 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:57 ] 60 ttp://pc11.2ch.net/test/read.cgi/tech/1196874830/ 59 ttp://pc11.2ch.net/test/read.cgi/tech/1194701996/ 58 ttp://pc11.2ch.net/test/read.cgi/tech/1191781463/ 57 ttp://pc11.2ch.net/test/read.cgi/tech/1189255282/ 56 ttp://pc11.2ch.net/test/read.cgi/tech/1186989201/ 55 ttp://pc11.2ch.net/test/read.cgi/tech/1184853465/ 54 ttp://pc11.2ch.net/test/read.cgi/tech/1181645965/ 53 ttp://pc11.2ch.net/test/read.cgi/tech/1178882828/ 52 ttp://pc11.2ch.net/test/read.cgi/tech/1176828891/ 51 ttp://pc11.2ch.net/test/read.cgi/tech/1174416295/ 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/
4 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:24:06 ] 30 ttp://pc8.2ch.net/test/read.cgi/tech/1112345886/ 29 ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/ 28 ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/ 27 ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/ 26 ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/ 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
5 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:24:34 ] 引き続きクソスレクソレスの嵐をお楽しみください
6 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:31:55 ] 前スレの991さんへ これですこれです 出来ましたありがたや
7 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:35:19 ] それじゃない それじゃない コンソールアプリとして組んで(int mainエントリー) GUIも使う それが出来てからWinMainエントリーなGUIアプリ に改造する これが常道。 WinMainから始めるのは外道
8 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:40:42 ] そんなやり方もあるんですか? よかったらそれも教えてください subsystemスイッチを消すとエントリポイントを勝手に探してくれるのは知ってるけど GUI用のメッセージキューとか?は どうやって準備するんですか?
9 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:45:06 ] てか今時コンソールにメッセージ出すんじゃなくて ファイルにHTMLとかでメッセージ出したほうが 見やすくね?表とかに整形して出すこととか 出来るし、フォントの大きさも色も変えられるし...
10 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:45:17 ] 何も変わらない WinMainがなにか用意してくれたか?
11 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:54:32 ] なるほど。hInstanceにGetModuleHandle(NULL)渡したら普通に出来ました こっちはGUIが終了してもコンソールは残るのか
12 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 16:20:55 ] >>7 実は外道と常道なんてちょっとした差 でしかないという考えもある。ブラウザ とかインフラが揃っておるご時世、 UNIXのシェルアプリのような組み合わせ て使ってナンボなアプリにするわけでもな きゃ、最初からコンソール出力はせず >>9 のようにリアルタイムにHTML出 力してブラウザでログを眺めるというよう なやり方もありだとオモ
13 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 16:45:27 ] いつまでもあると思うなカネとブラウザ ってか?
14 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 16:48:12 ] できた! int test() { HKEY hRootKey; char KeyName[512]; strcpy(KeyName, "SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727"); if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, KeyName, 0, KEY_READ, &hRootKey) != ERROR_SUCCESS) { printf("err!\n"); return 0; } DWORD dwType, DWordValue, cbBuff; dwType = REG_DWORD; cbBuff = sizeof(DWordValue); if (RegQueryValueEx(hRootKey, "Install", NULL, &dwType, (LPBYTE)&DWordValue, &cbBuff) != ERROR_SUCCESS) { RegCloseKey(hRootKey); printf("err!\n"); return 0; } RegCloseKey(hRootKey); printf("dwType=%d\n", dwType); printf("DWordValue=%d\n", DWordValue); return 0; }
15 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 17:15:15 ] Ctrl+Oでファイルを開くとかのアクセラレータキーって 対応するメニューアイテムないと使えないんでしょうか ショートカットキー込で再利用できる部品を作れないかと思ったんですが メニューアイテムとセットになってるんだとすると そういう部品化は出来ないってことになりますよね?
16 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 18:27:16 ] 独自でアクセラレータテーブル作って非メニューコマンドを実装することはできる CreateAcceleratorTable()で作ったハンドルをTranslateAccelerator()に渡すだけでよい 複数のハンドル作れば、PCゲームみたいな1つの操作に複数のキー割り当て的なこともできる
17 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 04:28:49 ] EnumWindowsて先に起動された順に列挙していくの?
18 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 09:05:10 ] 何を言ってるんだ
19 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 11:07:19 ] だから 早く起動されたアプリの情報から順番に プロシージャへ渡されるの?
20 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 11:10:35 ] EnumWindows で取得できるウィンドウと、プロセスには直接の関係はない。
21 名前:デフォルトの名無しさん [2010/02/06(土) 19:00:01 ] Win32APIって.netでも使えますか
22 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 20:57:55 ] 使えます。
23 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 22:42:13 ] つ ttp://ja.wikipedia.org/wiki/P/Invoke
24 名前:デフォルトの名無しさん [2010/02/07(日) 00:03:34 ] うぃなぴ
25 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 06:06:38 ] 全スレは史上最低の無駄スレだったな
26 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:02:41 ] そうだなすべてが無駄だ
27 名前:デフォルトの名無しさん [2010/02/07(日) 13:32:15 ] winsockとSocketクラスってどっちが優れてるの
28 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 13:49:03 ] … Socketクラスはwinsockで実装されてるんじゃないかな
29 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:11:27 ] ツールバーのボタンの右横に、▼マークのついた メニューボタンをつけるにはどうしたらいいの?
30 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:16:36 ] TB_SETEXTENDEDSTYLEとTBSTYLE_EX_DRAWDDARROWS
31 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:43:01 ] 有名なこのサイト ttp://www.kumei.ne.jp/c_lang/index_sdk.html 信頼度は高いですか?
32 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:47:28 ] うまくいかないと思ったらMSDN確認するくらいの気で行けば平気
33 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:48:25 ] 本家というかMSDNライブラリ(>>1 )を信頼したほうがいい
34 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:07:56 ] apiで数式エディタを作りたいのですが 参考になるサイト等がありましたら教えて
35 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:12:54 ] msdn.microsoft.com/
36 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:17:29 ] 参考になるサイトっていうのは APIで数式エディタを作ろう!みたいなタイトルでサンプル提供してるような所を指してるの? そんなニッチなもんあるわけねえだろ
37 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:29:32 ] 数式エディタは難しいよ Σとかどうやって作るんだよ
38 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:35:54 ] >>30 ありがとう
39 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 18:16:44 ] >>34 こんなんあるけど↓ ??? www.vector.co.jp/magazine/softnews/091212/n0912121.html
40 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:17:50 ] 数式を表示できるソフト普及するよりは、コンピュータに適した形で 数式の体系自体を変えるべきだと思うんだ
41 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 02:59:53 ] Tex最強!
42 名前:デフォルトの名無しさん mailto:sage [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; }
43 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 18:03:23 ] つづき case WM_NOTIFY:{ #define lpNM ((LPNMHDR)lp) #define lpnmTB ((LPNMTOOLBAR)lp) RECT rc; TPMPARAMS tpm; if(lpNM->hwndFrom == hToolbar && lpNM->code == TBN_DROPDOWN){ SendMessage(lpnmTB->hdr.hwndFrom, TB_GETRECT, (WPARAM)lpnmTB->iItem, (LPARAM)&rc); MapWindowPoints(lpnmTB->hdr.hwndFrom, HWND_DESKTOP, (LPPOINT)&rc, 2); tpm.cbSize = sizeof(TPMPARAMS); tpm.rcExclude.top = rc.top; tpm.rcExclude.left = rc.left; tpm.rcExclude.bottom = rc.bottom; tpm.rcExclude.right = rc.right; hPopupMenu = CreatePopupMenu(); AppendMenu(hPopupMenu, 0, 50, TEXT("開く(&O)")); TrackPopupMenuEx(hPopupMenu, TPM_LEFTALIGN| TPM_LEFTBUTTON| TPM_VERTICAL, rc.left, rc.bottom, hwnd, &tpm); DrawMenuBar(hToolbar); }
44 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:15:32 ] Windowsで開発したことないんですが、 あるスレッドが複数のイベントを待ちたい場合ってどういうふうに 設計するのが一般的でしょうか? 複数のイベントとは、片方はソケットからの入力、 もう片方は他のスレッドからの要求です。 MsgWaitForMultipleObjectはソケットが待てないっぽいんで。 環境はCで、MFCなしです。
45 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:35:34 ] windowsプログラミングでオブジェクト指向なコードが書きたいときって、アンマネージド限定でどうするのがベター? メインウィンドウのプロシージャに振り回されて、まともな設計ができない
46 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:46:55 ] >>44 むしろ、MsgWaitForMultpleObjectでソケットが待てないソースを教えてほしい。 WaitForMultipleObjectsとかでもソケット使えるのだから、 直感的にはMsgWaitForMultpleObjectでダメとは思えないのだけど。
47 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:51:09 ] >>45 つMFC
48 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:56:55 ] >>45 Windows API自体オブジェクト指向の固まりだと言うことに気付け。 ハンドル1つ1つがインスタンス。 それはともかく、ウィンドウプロシージャをクラスのメンバ関数にする方法は いくつかあって誰か書いているはずだから、ググれば見つかる。 それでメインウィンドウという括りで1つのクラスが出来上がる。
49 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:59:20 ] ExtTextOutで文字を表示する時に等間隔にしてくれるような関数ありますか? 例えば日本語(全角)5文字表示する所に半角10文字のスペースを上書きしても 日本語の方が横長みたいで全て埋まらないのです まとめると、全角5文字を半角10文字のスペースできっちり埋めれるようにするような関数はありますか?
50 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 01:06:27 ] 等幅フォントは?
51 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 01:13:26 ] >>50 CreateFontのcharsetに等幅フォントやってみようと思います ありがとうございました
52 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 02:40:04 ] >>45 WTLもあるよ
53 名前:44 mailto:sage [2010/02/09(火) 08:44:11 ] >>46 *WaitFor*Objectで待てるものに、ソケットが対象になっていませんでした。 ハンドルしか待てないからソケットは待てないと思っているのですが、 何か方法があるのでしょうか? 単純に待つハンドルの配列にソケットを突っ込めばいけてしまうとかでしょうか? MFCのAPIを使えば、ソケットとハンドルが関連付けられてWaitFor*でも 待てるっぽいところまでは分かったのですが、今回はMFCが使えないので…。
54 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 09:06:56 ] >>43 毎回CreatePopupMenu呼んでるから
55 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 09:40:54 ] 他のスレッドからの要求もソケットでやればいいな
56 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 09:42:19 ] >>44 WSAEventSelect
57 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 11:54:22 ] CSSパーザ探してます。 だいぶ昔に作り捨てたプログラムではスタイルシートをres:プロトコルでIEコン ポーネントに流し込む手法を使いましたが、この方法は使えなくなってしまった ようで、IHTMLStyleSheet::addRuleで流し込む必要ががあるようです。 元データ自体はCSSの文法で持ちたいので、C/C++から利用できるフリーのCSSパー ザまたはIEコンポーネントの再利用法は有りませんか?
58 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 12:57:07 ] >>57 です 正規表現だけでいけるような気がしてきたので質問取り下げます。
59 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 15:54:13 ] TEXTマクロって1バイト文字には使わなくていいんだよね?
60 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 16:09:28 ] _tcslen()に1バイト文字入れてみ
61 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 16:48:18 ] unicode/MBCSをコンパイルオプションで切り替える、ってことをしないならTEXT自体使わなくていい。 切り替えるからTEXT使う、なら基本は全部に使う。(処理の詳細的に使わない場合はあり得る) 切り替えないけどLよりTEXTが好き、でも別にいい。 だいぶスレ違いな気がする。
62 名前:デフォルトの名無しさん [2010/02/09(火) 19:06:03 ] ファイルが関連付いているアプリケーションのアイコンを取得したいと思っています。 ExtractAssociatedIcon という API を使用すると 32 x 32 のアイコンしか取得することができません。 48 x 48 のアイコンを取得したいのですが、どのようにすれば良いでしょうか?
63 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 22:50:25 ] 漏れの記憶では xn_resourceeditor
64 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 23:02:59 ] >>56 ありがとです。 いろいろ検討してみます。
65 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 04:59:51 ] IMPLEMENT_DYNAMIC(CCustomFileDialog, CFileDialog) CCustomFileDialog::CCustomFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) : CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd) { m_customDlgPtr = this->GetIFileDialogCustomize(); if(m_customDlgPtr != NULL){ m_customDlgPtr->AddComboBox(IDC_COMOBOBOX1); m_customDlgPtr->AddControlItem(IDC_COMOBOBOX1,101,L"foo"); m_customDlgPtr->AddControlItem(IDC_COMOBOBOX1,102,L"bar"); } } BOOL CCustomFileDialog::OnFileNameOK() { DWORD Item; m_customDlgPtr->GetSelectedControlItem(IDC_COMOBOBOX1,&Item); return CFileDialog::OnFileNameOK(); } コンボボックスから選択中のアイテムを取得できたんだが、そこから文字列を取得する方法がわからない。 くぐってもさっぱり出てこないので教えてほしい。
66 名前:デフォルトの名無しさん [2010/02/10(水) 10:35:41 ] コア別のCPU使用率を取得する方法を教えてください。
67 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 10:39:47 ] パフォーマンスカウンタの値を見る パフォーマンスカウンタデータヘルパーAPIっていうバカ長い名前のAPIがあるのでそれを使います
68 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 10:41:47 ] 使いかたの説明は面倒なので↓でも見て自分で考えてください nienie.com/~masapico/api_PdhGetRawCounterValue.html
69 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 12:31:50 ] >>65 記憶によると、comboboxの各アイテムに文字列へポインタをユーザ定義のデータと して埋め込んでおく。
70 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 12:33:51 ] コントロールの文字を小さくするには?
71 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 12:39:16 ] 小さいフォントをセットすればいい
72 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 19:46:50 ] >>65 選択中のならGetWindowText()でできた希ガス リストボックスのほうならCB_GETLBTEXTとか
73 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:11:54 ] >>69 >>72 とんくす。
74 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 10:01:07 ] AnimateWindowでウインドウのフェードアウトをする方法を検索すると、 AW_BLEND | AW_HIDE としているのが見つかるのですが msdnには、AW_BLENDとAW_HIDEを併用してはいけないと書いてあります。 どうやればいいのか教えてください。
75 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 10:52:41 ] 英語版のMSDNにはそんな事書いてないけど、日本語版が間違ってるんじゃ?
76 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 10:55:07 ] 日本語版は間違いだらけ 戻り値 True/False 間違えてて正反対の意味なんてことも
77 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 11:04:31 ] >>74 msdn.microsoft.com/ja-jp/library/ms997507.aspx
78 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 11:16:43 ] msdnに間違いがあるとは考えませんでした ありがとうございました
79 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 11:29:18 ] MSDNだけじゃなくて ●●入門とかの言語とかフレームワークとかの書籍も結構致命的な間違いがある
80 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 15:40:49 ] ツールバーとステータスバー 両方画面の下に共存させるにはどうしたらいい?
81 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 15:51:32 ] >>76 APIは一度公開したらインターフェースを返ることは 出来ないからな。使われない余計なパラメータがあ ったりするのはそういう理由だし。 時には内容はほぼ同じだがインターフェースだけ 変えたAPIとかあるらしいし。古いAPIの更新を やめて新しいAPIとして管理していくというやり方 を取らざるを得ないケースも多いだろうし 結局数は増える一方。墓地の埋葬者名簿みたいな もので正確性を永続的に保証できるものじゃない だろ
82 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 15:55:56 ] 日本語ページが正しくないことの言い訳としては筋違い。
83 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 16:20:50 ] >>81 その言い訳は「かつては正しかった」という根拠を出してからにしろ。
84 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 17:03:31 ] >>81 >墓地の埋葬者名簿 いいたとえだなw確かにそうだ 関数の戻り値の一貫性とか破綻してるから困ったもんだな・・・
85 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 17:54:48 ] MSの技術者でさえこんな設計するんだから 一般人のコードが汚くても誰も責めることはできない
86 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 17:58:55 ] >>85 こういう奴と一緒に仕事はしたくないな。
87 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 19:46:47 ] いっしょにコードを 書きませんか? ∧_∧ [windows.h] (・ω・)丿 ッパ . ノ/ / ノ ̄ゝ
88 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:28:50 ] msdn.microsoft.com/en-us/library/ms633494%28VS.85%29.aspx >Return Value > Not used. msdn.microsoft.com/ja-jp/library/cc410802.aspx >戻り値. >関数が成功すると、0 以外の値が返ります。 >関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。 戻り値の説明が勝手に増えててしかも間違っている 翻訳ミスどころかゴミ埋め込んでどうするw
89 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:32:45 ] MSに言えよ
90 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:35:19 ] Win関連の訳本はASCII時代がよかったな、1000ページ本とかバンバンだしやがって・・・
91 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:36:52 ] 肘で押えながら検証コード打ったりな
92 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 22:08:35 ] >>88 そもそも、何でNot usedなのにBOOL返すようになってるんだ?
93 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 22:11:51 ] >>92 元々 BOOL で使用されていたが ドキュメントが糞で誰も使わなくなったから Not used に書き直された
94 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 22:19:15 ] VC++でヘッダーコントロールを扱っていますが、 HDITEM hdi; SendMessage(hwnd,HDM_GETITEM,0,(LPARAM)&hdi); sprintf(str1,"%d",hdi.cxy) でヘッダーアイテムの幅が取得できるはずなのですが、上手くいきません 参考書はVC++逆引き大辞典です どうしたらいいでしょうか?
95 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 22:23:29 ] 一応、FALSEを返す状況もあるんだけどな。
96 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 22:44:42 ] HttpQueryInfoでヘッダーの内容を全部文字で見たい場合に HTTP_QUERY_RAW_HEADERS_CRLFを指定してるのですが どうも中に書き込まれた情報は2バイトコードになっているようです この辺の文字コードを切り替えるにはどうすればいいのでしょうか?
97 名前:96 mailto:sage [2010/02/11(木) 23:43:54 ] 自己解決しました 参考にしたソースがwchar_tを前提にしてない古い物だったのが原因でした
98 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:06:37 ] Windows 7 Home Premium 64bit版のPCで Win32 APIを使ってアプリケーション製作できる?
99 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:20:48 ] できる
100 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:26:03 ] >>99 サンクス!助かった
101 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:28:11 ] Wininet関連のプログラム書いてるんですが 勉強もかねてHTTPの要求ヘッダの中身がどうなってるかみたいのですが どうやれば見れますかね?
102 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:31:27 ] このスレで聞くってことは、パケットを見るプログラムを作りたいって話か?
103 名前:デフォルトの名無しさん [2010/02/12(金) 01:33:38 ] >>102 いいえ そういうのじゃなくて2chの専ブラの通信部分ですね www.monazilla.org/index.php?e=198 デバックもかねて上記のページに書かれてるようなヘッダーになってるかだけみれればいいんですが
104 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:35:08 ] HttpQueryInfoで受信情報のヘッダーは見れるので 送信側も何か方法があるのかなあと思いまして
105 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 02:00:54 ] 自分で鯖を立てて送られてくる情報をみるかWireSharkのようなモニターソフトで見るのが早いですかね・・・?
106 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 02:02:20 ] 実際のデータがどうなってるかって事だろ? パケットを見るプログラムじゃないか
107 名前:デフォルトの名無しさん [2010/02/12(金) 02:06:11 ] >>106 いや・・・そういう風に言われても勉強初めてすぐなのでよくわからないです InternetOpen InternetConnect HttpOpenRequest HttpSendRequest ←この段階で送るであろうデータさえ見れればよかったのですが
108 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 02:14:30 ] しつこい!
109 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 02:14:57 ] >>105 proxy + log
110 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 02:17:25 ] チェックの入っているラジオボタンのウィンドウハンドルを得るにはどうすればよいのでしょうか。 SendMessageで総当たりをすればどれにチェックが入っているのか分かりますがもっと良い方法はありませんか? ラジオボタンがチェックされた時に生じる処理の中でそのハンドルを記憶させるようにしてみたのですが、 グループが複数あった場合にそれがどのグループのボタンなのか判断させる方法がわかりませんでした。 Borland C++ 5.5.1 for Win32を使っています。
111 名前:110 mailto:sage [2010/02/12(金) 02:20:56 ] すみません何か勘違いしてました。 自己解決しました。
112 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 04:09:59 ] 見た目を分かりやすくしようとラジオボタンをグループボックスで囲んだところ ラジオボタンをクリックしたときにWM_COMMANDが発生しなくなってしまいました。 どうすれば再びそれが発生するようになりますか?
113 名前:デフォルトの名無しさん mailto:sage [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
114 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 06:06:17 ] C++ってあるけど上の方に メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。 ってあるからC++/CLIの話かね・・・ というかWTLやMFCって.netと比べるとかなり見劣りするからなあ .net環境で作ってていきなりネイティブC++とかいくと部品の陳腐さに泣きそうになる
115 名前:113 mailto:sage [2010/02/12(金) 06:27:51 ] >>114 すみません説明不足でした。PlatformSDKのことです。 第115章 ツリービューにメニューをつける ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_115.htm ↑このサイトを参考に組んでいたんですが、ツリービューの項目の深さを取得しようと思い、 調べていたところにちょうどそのページを見つけたので質問しました。
116 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 08:02:58 ] 直接は無さそうね 作るにはTVM_GETNEXTITEMかな
117 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 09:40:02 ] >>114 修羅の国では外部コンポーネント、サービスの利用方法や足りない部品は全部自力調達ですよ( ^ω^) 先輩・・・.NETしたいです
118 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 09:43:45 ] いいや駄目だね お前は一生修羅の国から出さん
119 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 09:44:58 ] でもどっとねっつはリバースしやすいからなあ
120 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 09:53:39 ] C++のお陰でソフトウェアの進歩は10年遅れたわな
121 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:06:37 ] >>120 いや C++ が糞なおかげで Rupy や Python が生まれたと思う C++ の出来が良かったらきっと そいつらは生まれていなかった
122 名前:デフォルトの名無しさん [2010/02/12(金) 10:09:51 ] 画面の解像度を取得する方法を教えてくれ
123 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:11:20 ] げっとしすてむめとりくす
124 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:11:53 ] www.google.com/search?hl=ja&q=Windows+API+ 画面の解像度
125 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:13:18 ] pc12.2ch.net/test/read.cgi/tech/1264745386/
126 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:15:47 ] >>125 今時のライブラリでデフォルトUTFじゃないとか死ね
127 名前:112 mailto:sage [2010/02/12(金) 14:29:15 ] >>112 ですがどなたか教えて頂けないでしょうか? ソース等アップロードしました。よろしくお願いします。 www1.axfc.net/uploader/Sc/so/82145.zip
128 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 14:54:07 ] 悪阻
129 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 14:56:22 ] >>127 了解
130 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 19:15:49 ] DirectWriteなんですけど、ここのサンプルをコンパイルして実行すると、 ttp://msdn.microsoft.com/ja-jp/windows/ee426939.aspx Ex1とEx2は開いたウィンドウを移動するかアイコンにして戻すかしないと文字が出ないし、 Ex3は黒ベタで何も出ないです。環境はWin7 x64なんですが、ちゃんと表示されてる人います?
131 名前:113 mailto:sage [2010/02/12(金) 19:53:16 ] >>116 >>117 やはり自力で組まないといけないんですね ぬこにつられて修羅の国に迷い込んでしまったようです ありがとうございました
132 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 20:04:07 ] .Netだとオブジェクトを動的に作る際名前に階層を盛り込んだけどなあ とC++のTreeView調べてたらアイテムの構造体ってろくな情報埋め込めないなw typedef struct _TV_INSERTSTRUCT { HTREEITEM hParent; HTREEITEM hInsertAfter; TV_ITEM item; } TV_INSERTSTRUCT, FAR* LPTV_INSERTSTRUCT; 自分で同じような複製ツリーを作ってそっちで管理してみたら?
133 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 20:08:55 ] typedef struct _TV_ITEM { tvi UINT mask; HTREEITEM hItem; UINT state; UINT stateMask; LPSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int cChildren; LPARAM lParam; } TV_ITEM, FAR *LPTV_ITEM; こっちもあるけどノード登録の際の連絡用とか検索ででてくるなあ
134 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 20:34:17 ] あとはWTL使うくらい? home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl10-06/index.html home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl10-07/index.html
135 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 20:41:52 ] >>132 おいこらTVITEMの中身見ろw 大体win32がヘボかったら.netもヘボくなるわけで・・・どっちも同じコモンコントロールなわけで
136 名前:113 mailto:sage [2010/02/12(金) 21:10:43 ] >>132 >>133 >>134 >>135 親:0 子:1 孫:2 という深度レベルを項目ごとのTVITEMのlParamに格納すればできそうですね! 本当にありがとうございました!
137 名前:デフォルトの名無しさん [2010/02/13(土) 21:17:25 ] タブコントロールは CreateWindowEX で作成するとのことですが、 メイン・ウィンドウのメニューから[設定]なとの項目をクリックして、 タブコントロールのウィンドウをポップ・アップさせる場合の手順は、 1)CreateWindowEX でタブ・コントロールの親ウィンドウ (hwndParent) を作成. 2)hwndParent の子ウィンドウとして CreateWindowEX でタブ・コントロールを作成. するという手順になると思うのですが、ここで、タブ・コントロールを操作する メッセージなどを処理するプロシージャ−が必要になります。ところが、 CreateWindowEX にはご存知のとおりプロシージャ−関数を受け取る引数はありません、、、 ということは、hwndParent にメッセージ・ループを作らざろうえず、メイン・ウィンドウの メッセージ・ループと”競合?”してしまうので、 A)hwndParent はスレッドを作って、そこでメッセージ・ループを回す??? という、プログラミング・スタイルになると思うのですが、違いますが??? 当方、初心者でして、ズバリご指摘おねがいします。 タブ・コントロールに限らず、ダイアログ・テンプレートを使わずに メイン・ウィンドウからコントロールの Owned ポップアップ・ウィンドウを開く場合 の手順は、どうなるのでしょう???
138 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 21:42:53 ] 設定ならプロパティシート使った方が簡単だけど、自分で作る場合の話なら タブコントロールからのメッセージはその親ウィンドウにWM_NOTIFYとして飛んでくるので すべて親ウィンドウのプロシージャで処理できる それと、ウィンドウプロシージャはCreateWindowExでなくウィンドウクラスで設定してそれをCreate〜に渡してる タブコントロールのウィンドウプロシージャはWindowsが持ってるのでそっちに全部お任せ これはタブコントロールに限らずどんなコントロールでも同じなので プログラムを作る側は親ウィンドウのプロシージャのことだけ考えればいい
139 名前:デフォルトの名無しさん [2010/02/13(土) 22:05:23 ] リストボックスをウィンドウのサイズが変更されても常に中央に配置されるようにしたいのですが どうしたらいいのですか?
140 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 22:09:15 ] ありがとうございます。 『タブコントロールからのメッセージはその親ウィンドウにWM_NOTIFYとして飛んでくる』 とのことですが、タブコントロール単独でポップ・アップ・ウィンドウをつくれるのでしょうか? タブコントロール単独でポップ・アップさせようとすると移動もサイズ変更も閉じることもできません、、、 タブコントロールを子ウィンドウとしてポップ・アップさせると、メッセージはタブコントロールの 親に行くのですが、その「親」≠「メインウィンドウ」なので、タブコントロールの「親」に、メッセージを 受け取るプロシージャ−が必要になるのではないですか??? 自分はなにか、根本的なところで勘違いをしていると感じるのですが、それが「何か」がわからない ところが、トホホな現状です。 (T皿T)
141 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 22:10:00 ] ウィンドウのサイズを元に座標を算出してMoveWindowすればよかろうに
142 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 22:14:27 ] >>140 親ウィンドウはあなたが>>137 で言っていたhwndParentだよ メインウィンドウを親としてhwndParentを作ってタブをhwndParentの子ウィンドウにする hwndParentを自分でウィンドウクラスを登録するなりして作成すれば、そのウィンドウプロシージャは自分で管理できる
143 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 22:17:57 ] つーか、どこのウィンドウアプリでタブがポップアップするんだよ? そんなのありえないことくらい、普通わかるだろ?
144 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 23:36:27 ] ……、すいませんでした。 自分が作ろうとしていたのは、『プロパティシート』であって、『タブコントロール』では ありませんでした、、、、、、 orz。 どうもおかしい、なにか変だと思っていましたが、『プロパティシート』を『タブコントロール』と ”根本的に勘違い”してました。お騒がせしました。
145 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 04:36:24 ] レジストリの値が変更されたことを知るAPIは有りませんか?
146 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 04:37:26 ] APIHook
147 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 04:48:02 ] ttp://ruffnex.oc.to/kenji/text/api_hook/
148 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 11:34:44 ] RegNotifyChangeKeyValue
149 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 12:42:06 ] そのてのapi hookってx64でも使えるっけ?
150 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 16:52:46 ] つかえるみたいよ
151 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 21:23:59 ] マウスカーソルを砂時計にしたいのだけど HCURSOR cur = SetCursor(LoadCursor(NULL,IDC_WAIT)); とやってもカーソルがかわらないです。
152 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:36:15 ] WM_SETCURSOR
153 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:34:42 ] HCURSOR cur = SetCursor(LoadCursor(NULL,IDC_WAIT)); したあとはWM_SETCURSORでreturn 0;するようにしたけど 状況かわらずでした。
154 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:38:35 ] >カーソルがウィンドウ上にある間ずっと表示される >ようにカーソルを設定する場合には、指定されたウ >ィンドウのウィンドウクラスで設定されるクラスカ >ーソルが 0 (NULL) になるようにします。クラス >カーソルが 0 (NULL) でない場合、システムはカー >ソルが動かされるたびにクラスカーソルに戻します。 yokohama.cool.ne.jp/chokuto/urawaza/api/SetCursor.html
155 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:11:43 ] >>154 デフォルトで表示するカーソルはなしにしておいて WM_SETCURSORの都度表示するカーソルを任意に指定するってことね 脳みそ足りなくて理解に時間がかかりますた
156 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 01:08:34 ] 脳みそとクソ知識が足り過ぎていて理解の邪魔をしてるんだろな
157 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:59:11 ] CPUのインストラクションキャッシュをクリアするような APIがあったと思うんですが名前を忘れてしまいました。 ご存じの方いらっしゃいませんか? やりたいことは実行時にコードを書換えながら実行するというようなことです。
158 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:04:45 ] FlushInstructionCache
159 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:10:03 ] プロセスハンドルからメモリに展開してるプロセスのサイズとかってどうやって取得していますか?
160 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:10:53 ] >>158 そのまますぎて吹いた orz ありがとうございます
161 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:17:10 ] >>159 ヒープのスナップショット取って合算するくらいしか思いつかない
162 名前:159 mailto:sage [2010/02/15(月) 20:33:49 ] >>161 別なアプローチがあるかと思って聞いたのですが、 やはりそれしかないですか ありがとうございました。
163 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 23:11:06 ] エディッタなどの編集画面は、RichEditコントロールとかが使われているのでしょうか? それともウィンドウに直接”描画?”してるのでしょうか?? 後者の場合、マウスでハイライト選択するのは、どうやって実現しているのでしょうか。 マウスの押し下げメッセージを捕らえるとして、どんな関数を使うのでしょう?
164 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 23:23:14 ] SPY++やフックでぐぐれ
165 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 23:56:38 ] CreateProcessで生成したときのLPPROCESS_INFORMATION構造体のプロセスIDで CreateToolhelp32SnapshotのTH32CS_SNAPMODULEを指定して実行したら エラーになるんですが、何か心あたりがある方はいますか?
166 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 00:02:54 ] >>163 HTMLでクリッカブルマップ辺りを使ったページを 作ってみると「霊感(インスピレーション)」を得れるかも
167 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 00:03:56 ] 他人に聞く前にOSに聞け。
168 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 11:12:25 ] >>163 マウスのY座標からそこが何行目かを計算する (例えばフォントの高さで割るとか) マウスのX座標と行数からそこが何文字目かを計算する (例えば行中の文字幅を1文字ずつ数えるとか) 求めた位置に基づいて選択範囲を保持する変数を変更し、その部分を再描画する 各文字を描画するとき選択範囲内だったらその文字は背景色付きで描き、選択範囲外だったら普通に描く およそこんな感じ
169 名前:163 mailto:sage [2010/02/16(火) 15:07:49 ] ありがとうございます。 …、すごい”低レベル”なことをするんですね。C言語ではじめて文字列操作を やろうとした頃を思い出しました。
170 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 15:12:54 ] 低レベルも何も、隠匿されてるだけであらゆる環境の同じ目的の関数は、 全て同じような手順で実現されてるんじゃないの?
171 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 15:26:02 ] Win32アプリケーションでAllocConsoleを使わずにコンソール画面を表示する方法はありますか?
172 名前:デフォルトの名無しさん [2010/02/16(火) 15:58:32 ] 知らないならレスしないで下さい。ウザイだけです。。。
173 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:07:04 ] >>172 そういう無意味に煽るだけのレスは、せめてどのレスに向けたものか示しておけよ。
174 名前:デフォルトの名無しさん [2010/02/16(火) 16:13:23 ] >>173 知らないならレスしないで下さい。ウザイだけです。。。
175 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:19:25 ] >>171 コンソールアプリを起動してAttachConsole
176 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 23:06:55 ] >>175 ありがとうございました。
177 名前:デフォルトの名無しさん [2010/02/17(水) 15:33:54 ] editウィンドウをただの黒い線の枠じゃなく 立体的なデザインにするには?
178 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:56:11 ] テキストエディタ作ると結構奥が深いんぜ 最大の敵は垂直スクロールバーとウィンドウ幅に合わせた行折り返し
179 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 17:20:51 ] えっ
180 名前:デフォルトの名無しさん [2010/02/17(水) 18:40:12 ] ええっ
181 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:20:25 ] ・・・そんなに難しいか?
182 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:21:48 ] テキスト編集は編集中のデータ管理だろう まあListと同じで部品化すれば問題ないか
183 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:55:56 ] メモ帳みたいにテキストボックス貼り付けるだけなら簡単だが、 秀丸みたいに内部データ管理から画面描画まで全部作って実用的な速度で動かすのはかなり大変 まあ最近はCPUが速いしメモリも大量に積んでるから、そういう環境限定なら難易度は下がるけど
184 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:30:23 ] 逆。難易度は逆に上がる。手に馴染むのが決め手なコントロール系 の製品開発は、遅いプロセッサで負荷をかけた状態でテストされ プロトタイプが出来てからも何回も書き直される。 速いマシンで製品レベルのものが作れるのは余程の経験者か天才。
185 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:35:36 ] お前らが作ったことが無いのは分かった
186 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:57:10 ] 俺ちょうど今作っててやとスクロールできるようになったぐらいなんだけど >>178 の言ってることはわかるような気がするよ、場合分け増えるし たとえば一行が長くて折り返しがある行の時に右端にカーソルがある時 折り返す前の行の右端と折り返した後の行の左端は(ドキュメント的には)同じ位置 しかし画面では別の位置なのでカーソルを移動させたときに 前行の一文字手前で次の行にいくか、 次行の先頭行の最初の位置にカーソルがいかないようにするか 改行で表示行が変わってるときとでは動作が異なるから場合分けが増える この辺ソフトによって動作が違ってて、GreenPadは後者、Terapadは前者だった
187 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 07:41:17 ] 両方に表示しちゃえばいいじゃない
188 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 08:43:33 ] 貴様らスレ違い
189 名前:デフォルトの名無しさん mailto:sage [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) } *****************
190 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 17:43:10 ] >>189 スレ違いと分かってて質問するなよ
191 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:35:31 ] すいません、、、他所のスレがあまりに下らないので、みなさんにお願いします。
192 名前:デフォルトの名無しさん [2010/02/18(木) 18:45:01 ] m9(^Д^)プギャーーーッ
193 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:57:09 ] appliだろjk
194 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:39:03 ] まずは変数宣言しろよ
195 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:38:49 ] >>189 >整合性が取れてる の意味がわかりません
196 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:09:57 ] 構造体はヘッダに書いて include 汁
197 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:47:47 ] もうだめだこのスレ
198 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 08:55:47 ] まじでか
199 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 09:50:19 ] スレの存在自体無理がある まともな質問の回答はMSDNに書いてある MSDNに回答が無い質問は環境依存
200 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 10:02:06 ] まじでか
201 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:28:26 ] >>199 それマジで言ったん?ソースあんならすぐ出せ マジなら2ちゃんねら総力を上げて潰すが
202 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:30:08 ] MSDNを潰すのは勘弁してくれw
203 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:31:54 ] 総力ってお前誰だよ 今ふと思ったが 妙に「ねらー」とか「2ちゃんねら」とか言うの多いな なんつうかν速慣れしてなそうな感じの
204 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:36:40 ] 一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?
205 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:44:39 ] しらんかった。
206 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:53:21 ] 一応突っ込んどくがそれ最近どころか数年前に流行ったコピペなんだぜ・・・釣りだったかな?
207 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:10:12 ] >>201 ,>>203-204 の流れまでがコピペなんだぜ・・・釣りだったかな?
208 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:11:20 ] 最初に言った人はマジなんだろうな
209 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 13:15:18 ] はじめに見たのは1年半くらい前だった希ガス
210 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 17:27:27 ] 一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?
211 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 18:42:30 ] 「総力を上げて潰す」は2007年7月頃に流行
212 名前:デフォルトの名無しさん [2010/02/19(金) 18:49:20 ] ウィンドウサイズの変更時などノ時 ステータスバーに表示された文字が再描画されないんですが どうしたらいいの?
213 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:44:36 ] む
214 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:45:57 ] おっ、書けた。 それでは質問させてください。 Windows Vista以降で、タイトルバーに3つのシステムボタンに加えて独自のボタンを自分のアプリのウィンドウに表示したいのですが、 どういう風に書けばいいでしょうか? C#で書いてますが、C/C++の書き方で構いません。
215 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:14:50 ] WM_NCPAINTで描く。
216 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:18:40 ] >>215 それは最初に試しましたが、 Aeroが有効時にはDefWindowProcの呼び出しで完全に描画されてしまい、 その後から書いても書き込んだ内容が見えません。
217 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:27:55 ] keybd_eventでalt+numpadの文字入力はできないの?
218 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:57:08 ] >>217 Altキーはメニューが受け取るようにWindows自体が作られているから、 そういうショートカットキーは避けた方がいいんじゃね?
219 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:59:19 ] >>214 BITMAP作ってリソース読み込めばいいんじゃない?
220 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:01:53 ] >>219 おっしゃることがよく分かりません。 タイトルバーをなるべくOS標準のまま、必要最小限のカスタマイズをしたいのですが。 描画さえちゃんとできれば、クリックの受け取りはさほど難しくなさそうです。
221 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:30:54 ] あーすまん ツールバーと勘違いしてた
222 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 00:18:36 ] >>216 msdn.microsoft.com/en-us/library/bb688195 (VS.85).aspx これの「Drawing in the Extended Frame Window」のところ。 DWM (Aero)環境下で、ウィンドウ全体をクライアント領域にするという方法がある。 これで、ウィンドウ全体を好きに描画できるようになる。 引き替えに、WM_NCHITTESTを自分で処理しなければいけないのが面倒。 その記事にもあるように、MS Office 2007も これを使ってタイトルバー部分に食い込んで描画している。
223 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 00:47:18 ] GDI製のボーダーを持たないWindow(ガクブチ)を作って 独自のボーダー(ボタン付き)にする。 クライアント領域は下のウィンドウをそのまま 書く。(Timerで定期的に下のウィンドウの更新を チェック。自分のウィンドウに来たメッセージは 下のWindowに当然SEND) この方法ってWindowが動いた時とかサイズが変わった 時、ちょっとみっともないこともなくもないけど 手軽でイくね?(もちょっとイイ小技もあるらしいが)
224 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 02:25:01 ] >>222 おおっ! これぞドンピシャ! しかし紹介いただいたサンプルを動かしてみてるところですが、 挙動が摩訶不思議でまだ大意がつかめてません。 (特にウィンドウメニューと組み合わせると……) コードだけじゃなくて記事本文も読まないといけないみたい。 でもこの延長線上でなんとかなりそうです。フレームの挙動がちゃんと変わってるし。 >>223 そういう方法もありだとは思います。GOMプレーヤーとかスキンを活用する系統では そちらの方が逆にスマートかもしれないし。 でも面倒くさそう……。 今予定してるのはボタンを1個追加するだけなので。
225 名前:デフォルトの名無しさん [2010/02/20(土) 12:28:03 ] 全角文字の1バイト目かどうかを判断するAPIを教えてください
226 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:30:40 ] 文字コードは?
227 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:01:17 ] CharNext(p) - p >= 2
228 名前:デフォルトの名無しさん [2010/02/20(土) 13:09:47 ] しふとJISですぅ
229 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:16:57 ] S-JISなんてAPIいらねーだろ 半角はアスキーコード互換、全角用もアスキーコードの空き部分の コードを利用してるだけなんだし
230 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:38:43 ] IsDBCSLeadByte IsDBCSLeadByteEx
231 名前:デフォルトの名無しさん [2010/02/20(土) 13:41:37 ] >>230 ありがとうございます。>>229 のクズとは大違いで助かりました。
232 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:57:30 ] 複素数を表現するクラスMultiElemNumを作りました。 APIでは、どうするのです。か
233 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 14:18:50 ] 何をどう答えればよいのです。か
234 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 15:39:15 ] 単語「API」の用例と あとは・・正しい日本語の使い方日本語をお願いします。
235 名前:デフォルトの名無しさん [2010/02/20(土) 16:58:41 ] >>232 MultiElemNumが英語になっていない。Complexが正しい。
236 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:17:54 ] printfだって英語になってないがな もしかして「適切な訳語」のことを言いたかったのか
237 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:29:02 ] >>225 マルチすんな
238 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:29:17 ] わかってるんなら、わざわざ聞くなよ。
239 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:36:08 ] 開き直ってその態度。笑っちゃうね。笑わないけど。
240 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:37:46 ] >>225 >>232 は同じ人間のような気がする
241 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:38:10 ] 何言ってんだ。
242 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:41:43 ] >>241
243 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:44:32 ] 条件反射的に一言多いというかなんとうか そういう人間がそうそう近い時間に複数来るってのは無いしな
244 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:47:08 ] >>242 241は239当てな。
245 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:48:50 ] 何言ってんの
246 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:51:26 ] 条件反射的に一言多いというかなんというか そういう人間がそうそう近い時に複数来るってのは無いしな
247 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:52:09 ] >>245 いや、「開き直って」とか言われたから、何考えてるんだろうと思って、241のレスしただけのこと。
248 名前:デフォルトの名無しさん [2010/02/20(土) 18:53:22 ] ではやはり上げておくべきですね。
249 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:56:45 ] いいからAPI出せや
250 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:06:38 ] APIを出す話だったのか
251 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:11:07 ] わろた >>249 は天然
252 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:19:06 ] ふぁびょおおおおってんなよ
253 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:21:56 ] >>252 API
254 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:49:39 ] >>253 API
255 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:02:23 ] >>254 あぴ
256 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:16:19 ] >>255 AIP
257 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:41:53 ] A・P・I!A・P・I!
258 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:42:36 ] 次世代型匂い付きAPI
259 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:43:14 ] >>249 そういうのはID出る板でスレ立ててやれ ここじゃ一生apiなんて出ないぞ
260 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 22:01:04 ] ↑ちなみにこれは「IDに〜〜を出す」系のスレに掛けている
261 名前:デフォルトの名無しさん [2010/02/21(日) 05:28:41 ] 質問です。 LPCWSTR型の文字列を返却する関数を、 TextOut関数で画面に表示すると、文字化けしてしまいます。 問題となっている関数の中身をコピーして、 TextOut関数の存在する関数の中にペーストし、 返却する変数をそのまま表示するようにした場合は、正しく表示されます。 色々試行錯誤しましたが、見当が付かないので教えていただけるとありがたいです。 ---参考 問題の関数--- LPCWSTR get_chart_size(void){ char dataBuff[] = "alphabet0123カタカナひらがな漢字"; wchar_t pwsz[sizeof(dataBuff)*2]; std::locale::global(std::locale("japanese")); MultiByteToWideChar(CP_ACP, 0, dataBuff, strlen(dataBuff)+1, pwsz, sizeof(pwsz)); LPCWSTR Data = pwsz; return Data; }
262 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:33:41 ] 関数出たら解放されてしまってるんだろう malloc 汁
263 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:34:14 ] char dataBuff これはマルチバイト wchar_t pwsz これはワイド文字 文字コードが違う MultiByteToWideChar これはマルチバイトからワイド文字に変換する関数?
264 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:36:00 ] >>261 pwszは非静的な局所変数なので、returnした時点で無効になる。
265 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:37:42 ] 呼ぶ方 wchar_t pwsz[sizeof(dataBuff)*2]; pwsz = get_chart_size(pwsz, sizeof(pwsz)); TextOut(hogehoge); 呼ばれる方 LPCWSTR get_chart_size(wchar_t *pwsz, size_t size){ char dataBuff[] = "alphabet0123カタカナひらがな漢字"; std::locale::global(std::locale("japanese")); MultiByteToWideChar(CP_ACP, 0, dataBuff, strlen(dataBuff)+1, pwsz, size); return (LPCWSTR)pwsz; }
266 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:57:19 ] というか、char、wchar、TCHARはちゃんと区別しようね。みんな。
267 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 08:23:56 ] /| |/__ ヽ| l l│<ハーイ ┷┷┷
268 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 09:05:42 ] 間違えた、wchar_tだった
269 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 12:42:28 ] >>261 スレ違い。C言語質問スレに池
270 名前:デフォルトの名無しさん [2010/02/21(日) 13:01:11 ] 以下のような例で、vdCreateToolBar(VOID) と hdCreateToolBar(HWND hwndParent) とで 関数の中身は全く同一で、親ウィンドウのハンドルにグローバル変数を使うのと、関数の 引数を使うのとでは、作成されるツールバーの表示が (1) と (2) で異なるのですが、 なぜでしょうか??? HWND g_hMain; WinMain() { HWND hMain; hMain = CreateWindowEX(); g_hMain = hMain; vdCreateToolBar();-------------------(1) hdCreateToolBar(hMain);--------------(2) … } vdCreateToolBar(VOID) { g_hMain; グローバル変数でツールバー作成 (1) } hdCreateToolBar(HWND hwndParent) { hwndParent; 引数を使ってツールバー作成 (2) }
271 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 13:25:42 ] ちなみに、vdCreateToolBar(VOID) と hdCreateToolBar(HWND hwndParent) は, WinMain() とは別の C ファイルです。 vdCreateToolBar(VOID) の g_hMain は extern で取得してます。
272 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 13:26:51 ] vdCreateToolBarとhdCreateToolBarの内容が違うから
273 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 13:30:43 ] デバッガで動きを比べてみな。
274 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 14:30:18 ] キャストしたらどうなりますか?APIを教えてくだしあい
275 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:30:42 ] extern "C" {} の内か外かで、結果が違ってくるとかありますか?
276 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:33:16 ] 呼び出し規約の不整合があると、どうなるんでしょう??
277 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:57:28 ] >>274 キャスト用のAPIなんてない >>275 ある可能性は否定できないんじゃない? >>276 最悪の場合、期待どおりの動作にならない
278 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:01:18 ] なんでキャストがでてくるんだ キャストなんて 「俺(プログラム書いてる人)は型が違うのわかってて書いてる からお前(コンパイラ)は気にしなくていいよ。」と教えてるだけなのに (厳密にはいろいろあるようだが
279 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:46:44 ] たまに>>278 みたいな対して上手くもない例え話を載せてる入門書ってあるよね!(* ゜∀゜)ムッハー!!
280 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:51:06 ] >>279 事実そうじゃん 関数の引数でconst char* hogeとかやるけどあれだって 書き換えするようなコードを書かないようにする安全策なだけだし アセンブラレベルで考えればconst とか知ったことじゃねえって 感じだしなあ
281 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:55:52 ] 「俺」とか「お前」にご丁寧に括弧書きで想定する対象を書いてるのがダサいねぇ 人間が読むのに、わざわざキャストしてどうすんの
282 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:27:59 ] キャストするAPIがないとか(笑)
283 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:29:25 ] >>282 あるなら紹介してあげなよ。
284 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:40:11 ] >>281 俺は逆で型変換でキャストなしソースのほうが読みにくくて初心者乙だなぁ コンパイラの警告レベル上げたとたん警告が何百も出てくるとかだせぇってなる
285 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:44:22 ] 何言ってんだお前
286 名前:270 mailto:sage [2010/02/21(日) 17:44:25 ] 270 ですが、xxCreateToolBar() で関数が引数をとる形にすると、グローバル変数でも 引数渡しでも、ツールバーの動作が”不安定?”になります。 原因のヒントだけでも、ないでしょうか…、、、、
287 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:45:36 ] 知るかハゲ ソースもなんも出さずに。
288 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:48:23 ] すべてAPIが悪い
289 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:56:09 ] APIが何の略かも知らないくせに
290 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:57:15 ] あぴのせいにするな!大抵手落ちは自分にあるんだ!
291 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:00:02 ] そうですねWindowsに欠陥があるわけないですね^^
292 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:04:48 ] こういうキチガイがマジ多くて困る。
293 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:08:15 ] >>270 と>>271 の情報だけで原因を特定できるエスパーなんていないだろ
294 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:10:34 ] こういうキチガイがマジ多くて困る。
295 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:14:41 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
296 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:17:06 ] vbとhdが何の意味なのかわかればエスパーが出てきてくれるかもしれん、ちょっと気になった
297 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:17:56 ] Visual Basic
298 名前:デフォルトの名無しさん [2010/02/21(日) 18:23:23 ] あげとくよー
299 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 00:31:39 ] あげた途端レスストップとかw
300 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 00:40:04 ] 一通り語り終わった後に上げるのが悪い
301 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 09:01:37 ] VerticalとHorizontalだろ……常考
302 名前:デフォルトの名無しさん [2010/02/22(月) 09:48:55 ] p
303 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:52:16 ] GDI+でアルファ値を含むbmpファイルをロードして描画すると 透明になるべき部分が真っ黒になってしまいます。 Image::GetPixelFormat()でARGBではなくRGB形式となってました。 LoadImageで読み込んだ後、GetObjectで生データを取り出して ARGB形式での生成も試したのですが 生成はできたもの描画ができない状態です。 LoadImageとAlphaBlendではうまくできたのですが‥‥ GDI+でアルファ値のbmpは駄目なのでしょうか?
304 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:55:02 ] bmpの32bitはそもそもリザーブになってるはず 本気でアルファを考えるならpngを読ませないとだめなんじゃないの?
305 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:56:27 ] >bmpの32bitはそもそもリザーブになってるはず bmpの32bitのアルファにあたる部分はそもそもリザーブになってるはず
306 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 02:54:46 ] >>303 そもそもARGBなフォーマットがBITMAP形式では定義されてない。
307 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 03:22:16 ] ビットマップにアルファは仕様外って事でしょうか。 ヘッダをBITMAPV4HEADERにしてもGDI+では駄目でした。 LoadImage/AlphaBlendを使うか、GDI+/pngで行く事にします。
308 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 04:19:49 ] BITMAPがアルファをサポートしたとか聞いたことないしなあ vistaとか7のペイントは知らんけど、xpのペイントはアルファをきっちり潰してくれるしな・・・ そういう状況を見るとサポートしてないと考えるしかないだろ それにpngがあるんだしわざわざbmpがサポートする必要もないしな
309 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 08:41:52 ] 一般的な画像で透明度を持ってるのってgifかpngだけだろ。 ビットマップの場合は「この色だけ描画しない」って指定してやって、 画像側ではなくアプリケーション側で透明度を調節するタイプじゃね?
310 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 10:15:51 ] >>309 カラーキーは別に後でも指定できるはずだよ 一時期のゲームなのどでは原色の緑をカラーキーに使ったりしてたはず
311 名前:デフォルトの名無しさん [2010/02/23(火) 11:23:12 ] フォームを最善面に表示するAPIを教えてください
312 名前:デフォルトの名無しさん [2010/02/23(火) 11:36:55 ] もういいです役に立たないクズ共だなあ
313 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 11:38:46 ] フォームを最善面に表示するAPIを教えてくださいを解決するAPI つ ぐぐれカス
314 名前:デフォルトの名無しさん [2010/02/23(火) 12:34:41 ] ここって>>313 みたいなゴミしかいないのかな?
315 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 13:11:53 ] >>314 つ 鏡
316 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 13:29:14 ] レス乞食乙
317 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:24:13 ] GDIにおけるビットマップの扱いがWin3.1の頃と変わってないんですね‥‥ ペイントが出力するファイルもWin3.1のビットマップ形式でした。 BITMAPV4HEADER.bV4AlphaMask BITMAPV5HEADER.bV5AlphaMask Win9xの時からこういうのがあったもんで、てっきりOKかと思ってました。 腑に落ちなかったので、あれからいろいろ試していましたが 自前でbmpファイルを読み込み、生データをARGB形式として 直接GDI+に食わす方法が一番でした。
318 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:40:36 ] >>317 別にそれでいいというのなら止めはしないけど、 正しい方法が分かってるなら正しい方法を採った方がいいよ。 BITMAPがARGBを正式にサポートしてないことには変わりがないので、 TIFFやPNGなど正式にサポートしている画像形式を使うのがこの場合は正しい。 最初にも言ったけど、動けばいい、という態度なら止めはしない。
319 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:50:10 ] え、MSDNにもしっかり載ってるのに正式じゃないの? ttp://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
320 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:57:35 ] >>317 そもそもビットマップ形式自体が変化してないからでは? そこが変わっちゃうと互換性問題が強く出る気がする。 それが指してるアルファマスクって、二値の情報で黒いところだけマスクする奴じゃね?
321 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 22:55:36 ] >>319 >The high byte in each DWORD is not used. これどういう意味
322 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:08:07 ] >>319 32bitの色情報を格納する構造体RGBQUADを調べてみるといいよ ヘッダにアルファの文字があっても多分古い規格のカラーキーについてだと思うよ pngのような最大で1バイトまるまるアルファとかはサポートしてないはず
323 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:14:23 ] あと>>317 もpng使えっていわれてるのになんで自前でbmp読み込むことにこだわる pngだって所定のデコード処理を施せばメモリ上に置かれてるのはbmpと同等だよ
324 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:23:24 ] >>319 後半に関してはDIBにはAlphaがあるがBITMAPにはAlphaが無いってだけ GDI+の内部では元が何であろうがDIBで扱ってるからAlphaがないと困る msdn.microsoft.com/en-us/library/ms534412%28VS.85%29.aspx
325 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:29:34 ] 1ピクセル64bitとか誰が要求してんだ
326 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:12:54 ] 別に叩かれてるわけでもないのに>>319 がふるぼっこすぎる
327 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:19:46 ] 叩かれてないならいいじゃねえか
328 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:23:01 ] >>325 なんか業界団体はRGBで96bit目指してるらしいけど…。
329 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:24:35 ] そんな細かくグラデーションしてどうすんだよ
330 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:34:04 ] 普通ならいらないけど、B/Wな画像(レントゲンとかCTとか)では実質1/3になっちゃうんで、 そういう分野では必要なのかも。
331 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:48:45 ] モノクロ環境は考えてなかったな なるほどな
332 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 02:14:10 ] >>284 キャストを全然つけなくてちょいちょい泣いてるのが初心者 泣きたくないのでキャストつけまくるのがトラウマを抱えた初心者 大人になれば必要なとこだけキャストをつけるようになるよ
333 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 06:43:30 ] 複数のダイアログを使いたいんだけど 1つのダイアログごとにプロシージャを別にすることは出来ないの?
334 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 08:53:47 ] CreateDialog()の第四引数に個々のプロシージャ指定すれば出来るお ↓ ttp://msdn.microsoft.com/ja-jp/library/cc410690.aspx
335 名前:デフォルトの名無しさん [2010/02/24(水) 10:19:03 ] 自分のPCに入ってるSNMPの指定オブジェクトIDに値を書くAPIを教えてください。。
336 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 11:02:01 ] URLエンコード用のAPIってありますか?
337 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 11:21:01 ] >>335 SnmpSetVb >>336 UrlEscape ここに書き込むより自分で探した方が早いはず
338 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 11:28:35 ] >>330 本当にモノクロなら 16bitでは重複が許されないが 32bitのBI_BITFIELDSならRedMaskとGreenMaskとBlueMaskに同じ値をセットするだけで規格上は問題ないはずなのだが
339 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 12:20:50 ] DDSでやるとか
340 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:04:39 ] 3時間程度でwin32apiが使えるようになるサイト教えてください。 当方VB.NETが使えます。
341 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:10:11 ] ttp://msdn.microsoft.com/ja-jp/library/aa139672.aspx
342 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:11:22 ] >>340 www.nicovideo.jp/watch/sm8517855
343 名前:デフォルトの名無しさん [2010/02/24(水) 14:12:38 ] >>337 ありがとうございます。 SnmpSetVbはwsnmp32.dllを使うみたいでこのdllは発見したのですが これのヘッダーファイルはどこにあるのでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:15:29 ] ファイル名聞いてるの? そのものズバリWinSnmp.hだよ、PlatformSDKのディレクトリにあるよ
345 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:32:58 ] >>340 www.google.co.jp/ このサイトなら3時間かからん
346 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:49:41 ] msdnみればわかる事を聞くな。
347 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 15:48:41 ] >>344 ありがとうございます。 C++Builderを使っているのですが、WinSnmp.hを発見しました。 libは発見済みだったのでこれでリンクもできます。 すみません、最後にSnmpSetVbとかの関数の使い方を書いてるサイトありますか? 初期化とか使うまでの一連の流れというか・・・
348 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 15:58:33 ] msdn.microsoft.com/en-us/library/aa379207%28VS.85%29.aspx
349 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:25:18 ] どうしても見つからない場合はSourceForgeあたりでコードを漁る
350 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:25:41 ] 何真面目に答えてんだカス
351 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:54:02 ] そしてGPL汚染と
352 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:56:30 ] >>337 で、自分で探せば?といわれるが、懲りずに質問をし >>346 で、msdnみなよ、といわれ、懲りずに質問をし >>348 で、msdnへのリンクを貼られた >>335 は次に英語がよく分からないです。一連の流れのサンプルはないですか?と聞く。
353 名前:デフォルトの名無しさん [2010/02/24(水) 17:52:01 ] あれwwwwwwwwwwwwwww ここって質問スレだよなwwwwwwwwwwwwww よく>>352 みたいなクズが沸くけどなんだろうなw つーかもうこのスレいらなくね? 誰かが質問したらググれしか言わない奴が張り付いてるし 珍しく誰かが答えたら基地外が沸くしw
354 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 17:54:03 ] 質問スレって宿題スレだったのか
355 名前:デフォルトの名無しさん [2010/02/24(水) 17:54:35 ] こんなレスしたら今度は俺が>>335 だって基地外に言われるんだよなww このスレも酷くなったもんだよなあ
356 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 18:40:43 ] >>353 そんなこといったら2ちゃんがいらないってことになる 実際いらないけどw
357 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 18:44:43 ] まぁ粘着だろうな、このスレも人に恨まれる程になったとw 人生無駄に削ってくれとしか言えんな( ´ω`)
358 名前:デフォルトの名無しさん [2010/02/24(水) 19:25:12 ] windows 7 Home premium x64 Visual C++ 2008 Express Edition アクティブソリューションプラットフォーム: Win32 で作業しています。 実行中のプロセスが WOW64 か Native64 かを判定しようと 以下のように記述しましたが、kernel32.dll 内に GetNativeSystemInfo 関数が無いと いう結果になってしまいます。 typedef void (WINAPI *FPGETNATIVESYSTEMINFO)(LPSYSTEM_INFO lpSystemInfo); FPGETNATIVESYSTEMINFO GetNativeSystemInfo = (FPGETNATIVESYSTEMINFO)GetProcAddress( GetModuleHandle(TEXT("karnel32.dll")), "GetNativeSystemInfo"); if (GetNativeSystemInfo != NULL) { GetNativeSystemInfo(&systemInfo); } else { GetSystemInfo(&systemInfo); <--- デバッグすると、こちらに入ります } win7なのに GetNativeSystemInfo関数が使えないのは どうしてなのでしょうか?ご教授お願いいたします。
359 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 19:28:02 ] GetModuleHandleが失敗してるだろそのコード
360 名前:358 mailto:sage [2010/02/24(水) 19:36:11 ] >>359 ありがとうございます。 GetModuleHandleのエラー情報を取得する関数を調べる過程で、 kernel32.dll と karnel32.dll を見間違えていたことが分かりました。 GetModuleHandle(TEXT("kernel32.dll")) と修正したところ、 WOW64判定ができました。 簡単なミスでお恥ずかしいです。失礼します。
361 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 20:43:54 ] ウィンドウスタイル"EDIT"のウィンドウをfor文で10個一気に作ろうとすると 処理が間に合わずプログラムが「応答なし」になるのですが、どうにか出来ませんか?
362 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:02:40 ] >>361 ソースコードを晒せば?
363 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:33:44 ] >>362 すみません、自己解決しました スレ汚し本当に申し訳ないです
364 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:36:43 ] >>353 MSDNのSnmpSetVbについてのページが見つからないので教えてください
365 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:26:30 ] >>364 msdn.microsoft.com/en-us/library/aa378268%28VS.85%29.aspx
366 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:29:45 ] ttp://nienie.com/~masapico/api_CreateDesktop.html のサンプルを動かしてみたんですが、デスクトップはできるものの、 新しいデスクトップ上にメッセージボックスが表示されません。 環境は Windows XP SP2 です。どうしてでしょうか?
367 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:49:49 ] >>365 ありがとうございます。 がんばって読んでるのですが、難しいです。日本語のコメント付き使用例などはないのでしょうか。。
368 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:51:31 ] もう日本の公用語英語にするしかねえな
369 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:58:13 ] >>367 夜間中学にでも入ってやり直せ。
370 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:04:56 ] The high byte in each DWORD is not used. が読めない人のいるスレだからしょうがない。
371 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:07:03 ] >>367 >>352
372 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:21:28 ] なんという。 >>353 が変なこと書くから回答してもらえると思っちゃったんじゃないか?
373 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:32:52 ] 英語ができない奴はなでしこでもやってればいいと思うよ
374 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:44:48 ] >>366 自己レス。SetThreadDesktop() が 170 で失敗してました。 ググって見ると、呼び出し元スレッドにウィンドウとかが存在するときは失敗するそうで。 前にうまくいったのは、コンソールアプリだったのを忘れてました・・・。
375 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 07:19:37 ] >>370 その記述がBI_RGBの場合だけという事を理解できない人のいるスレだからしょうがない
376 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 14:44:17 ] GetOpenFileName関数でコモンダイアログを用いた処理で、 ファイルを選択後、「開く(O)」ボタンを押した時、 そのファイルを判定し、有効ならばそのままダイアログを閉じ、 無効ならば、再度ファイルを促したいと思っています。 OFN_ENABLEHOOKを利用してフックし、WM_NOTIFYメッセージの時、 lpOfNotify->hdr.code == CDN_FILEOKの時に判定することまでは出来ました。 ここで、無効なファイルだった場合はCDN_FILEOKをキャンセルし、 「開く(O)」ボタンを押す前の状態に戻りたい場合、 どうするんでしょうか?
377 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 14:47:47 ] ググれかす
378 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:03:22 ] >>376 普通にMSDNに書いてある方法では駄目なの? msdn.microsoft.com/en-us/library/ms646931%28VS.85%29.aspx
379 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:11:31 ] !0
380 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:35:27 ] WindowsのIEコンポーネントブラウザでドラッグアンドドロップを不許可にしたいんですが なにか良い方法無いでしょうか? DragAcceptFilesで上から順に全部FLASEにしてみましたが、効果ありませんでした。
381 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:36:00 ] ぐぐれよぅ
382 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:41:43 ] >>381 何時間ぐぐっても見つからないので検索ワードだけでも教えてください。
383 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:45:43 ] >>380 ほい hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt
384 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:49:09 ] >>382 はい hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt
385 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:55:47 ] >>383 どうやらドラッグアンドドロップについての文章じゃないようですね。 ソースコードをじっくり読んでみます。
386 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:05:24 ] 本来なら数時間ぐぐっただけでぐぐった気になるのは 許せないところだけどな。 俺なんて目から血が出るくらいぐぐるからな。
387 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:09:50 ] そのまま死ねばいいのにね
388 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:10:53 ] はい
389 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:11:16 ] ここはもう機能してないスレだから他行った方が良いよ
390 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:19:59 ] D&Dもイベントが発生するけどイベント処理ロジックがなかったら何もおきない・・・ってことはないのかな?
391 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:05:04 ] registerasdroptarget
392 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:03:59 ] MN_GETHMENUは、何故MN_から始まってるんでしょう。
393 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:10:33 ] Menu Notify
394 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:10:58 ] 何も思わずMeNuだと思っていたが、それならMMのほうがよくね?って話かな
395 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:17:45 ] わかりました。
396 名前:デフォルトの名無しさん [2010/02/27(土) 04:00:07 ] MessageBoxについて質問します。 タスクマネージャーを監視しているとMessageBoxを呼び出すごとにGDIオブジェクトが増えているのですが、 これはいったいなぜでしょうか? MessageBoxを呼び出して、たとえばMB_OKでOKを押させて消させた場合もGDIオブジェクトの数が減ることがありません。 非常に気になるので、MessageBoxを呼び出しおわったあとにGDIオブジェクトをクローズする方法を教えてもらえませんか?
397 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 04:18:44 ] ソース
398 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 04:27:29 ] しょうゆ
399 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 05:01:50 ] ソース
400 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 05:22:33 ] しーそー
401 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 11:42:29 ] ソース
402 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 17:23:50 ] まぁMessageBox以外を疑うべきでは?Box出さないでウィンドウサイズ変更とかグリグリしながら監視推奨
403 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 06:04:33 ] CreateDialogで作ったダイアログ内のコンボボックスに 項目を追加するにはWM_INITDIALOG内で SendDlgItemMessage(hDlg, コンボボックスの識別子, CB_ADDSTRING , 0 , (LPARAM)"text"); これでいいんだよな? 何も起こらないんだけど
404 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 10:54:05 ] 同じコードでやって、それがリストボックス(LB_ADDSTRING)で動くなら コンボボックスでもいけると思うが まさかF4キーでドロップダウンしてないってオチじゃないよね
405 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 11:36:06 ] リストボックスは出来た コンボは追加されてないっぽい
406 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 14:58:12 ] コンボボックスの高さが足りてないオチは?
407 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:08:08 ] 実際に追加されていないのか、単に表示がされないのか切り分けだな。 あとはSendMessageで試すとか
408 名前:デフォルトの名無しさん [2010/03/01(月) 05:39:41 ] リソースエディッタで作ったダイアログを トップレベルウィンドウとして扱うことって出来ないんでしょうか?
409 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 05:43:54 ] >>408 WinMain以下でいきなりダイアログを開けば勝手にトップレベルウィンドウになると思うが?
410 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 05:51:37 ] 教師をしているんだが、生徒が勝手に他人の文書をコピペできない ようにクリップボードを定期的にクリアするサービスアプリケーション を作ってるんだがどのようにすればいいか教えてくれないかい? サイズが0のウィンドウを開いてタイマーを1秒に 設定して、1秒ごとにEmptyClipBoadを発行するものを 作ったんだが、タスクバーで右クリックすれば終了できて しまうんだ。タスクバーにアプリケーション名を出さずに 実行するのはどのようにすればいい?
411 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:09:32 ] >>410 そんなアプリを生徒に強制的に使わせるのはヤメレ。
412 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:18:17 ] >>410 悪意無しで本当にコピペしたいって時はどうさせるのですか先生
413 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:26:07 ] >>410 それなんてウィルス
414 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:28:38 ] 教師が考えそうな低俗で下劣なアプリだな
415 名前:410 mailto:sage [2010/03/01(月) 06:45:04 ] >>412 自前のクリップボードビューワーのついたテキストエディターも 作ってみようとと思ってる。タブ方式とする予定。 他の文書でマウスで一部をハイライト状態にすると、 自動的にビューワーのほうに転送されるようにしてあげる。 それを見ながら、手打ちするわけだ。タブを切り替えたり スクロールさせなくていいわけだ。優しいだろ? このトランスクリプトモードに入ったら、それまで入力された 箇所の不用意な変更を防止してあげる。そして ビューワーの文字列を端から順番通りちゃんとミスタッチ無く 入力できるようにしてあげる予定(ミスタッチしたらBSを 入力したのと同じ効果にしてあげるとか)
416 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:47:11 ] そこらにあるクリップボード支援ツール使われて即死と見た
417 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:49:53 ] >>415 そんな最上級のウザソフト作って何がしたいの?w
418 名前:410 mailto:sage [2010/03/01(月) 06:54:04 ] で、タスクバーに表示させない方法は知ってるかい?
419 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:00:17 ] 何が目的か分からんが、PC使う以上はコピペは推奨すべき。 タイピングさせたいならタイピングオブザデッドでも買い与えてやれ。
420 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:14:01 ] 馬鹿のオナニーに付き合わされて、本当に貴重な10代での学習機会を棒に振られる生徒が可哀想・・・
421 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:24:16 ] 教師がこんな無知なわけないだろ 素直にウィルス作ってますと言えよ
422 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:26:49 ] こんな無知が担当の生徒が可哀想。
423 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:34:30 ] Adomin権限で実行すれば一般権限のユーザーからは見れないぞ。 まさか生徒にAdomin権限使わせてるってことはないだろう?さすがに。 使わせてるとしたらバカ教師クオリティ。
424 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:37:50 ] adominって何すか? 中学生かお前
425 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:50:42 ] もう許してください
426 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:54:47 ] コピペした時にクリップボードの内容を生徒別にリストする方がいいんでないの どこで(URLとかPathとか)コピーしてどこへペーストしたかって
427 名前:410 mailto:sage [2010/03/01(月) 07:56:24 ] 要するにここの人は貴重な10代での学習機会を 貧弱なソフト環境だったWin9xとかで棒に振られた 可哀想な世代だってことですね。 理解できました。 どうも傷ついてしまったようですみません。 訊いたのが間違いでした。
428 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:59:19 ] 2時間掛けてようやく気付いたのか馬鹿
429 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:01:29 ] いいえ、パンチカード世代です
430 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:20:47 ] こんな無能の自称教師にオナニー環境押し付けられるくらいなら 黒板にググレカスとだけ書いて自習させた方が遥かに有意義だわな
431 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:24:47 ] >>427 この簡単に答えられる質問を、誰にも答えてもらえない お前さん人に物を教える前に、人に物を教えてもらう方法を学ぶべきじゃないか?w
432 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:40:02 ] おい、電車下りる時間。
433 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:46:49 ] www.ikuyama.net/ryo/mfc/mfc03.html
434 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:45:00 ] ユトリが教師になると碌なことが無いという良い見本だな。
435 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:47:44 ] いつの時代も馬鹿はいるもんだ
436 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:53:04 ] だがしかし もう世の中には ゆとりの教師かゆとりを育てた教師しかいないという絶望感
437 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:59:14 ] ruffnex.oc.to/kenji/thekeylogger/KeyLogger.html
438 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 12:20:12 ] 非クライアント領域を自分好みに変形させることってどうやったらできます?
439 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 12:30:29 ] 無理です
440 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 13:13:41 ] EmptyClipBoad じゃなくて EmptyClipboard だろ
441 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 13:55:57 ] 教師をしているんだが EmptyClipBoad
442 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 15:15:36 ] ”ウィンドウが最大化されるとき”は、どうやって知ればよいのでしょうか?
443 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 15:29:16 ] WM_SHOWWINDOW
444 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 16:45:04 ] すいません、、、聞き方が悪かったのですが、 アプリ・ウィンドウを最大化状態で起動したとき、右上の”Resize”ボタン?を 押したときに、前回アプリ実行時のリサイズ状態に戻したいのですが、どうすれば よいのでしょ〜か?
445 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 16:57:07 ] SetWindowPlacement GetWindowPlacement
446 名前:444 mailto:sage [2010/03/01(月) 19:47:43 ] なるほど、、、同じような名前でわけ分かりませんでしたが、そういう意味だったのか、 と納得しました。
447 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 19:59:09 ] WM_SYSCOMMANDの(wParam & 0xfff0) == SC_MAXIMIZE このタイミングで最大化する前のウィンドウサイズを保持して 次回起動後、SC_RESTOREが来たら保存したサイズにリサイズすればいいかと
448 名前:デフォルトの名無しさん [2010/03/03(水) 05:07:10 ] 非アクティブ状態でもキー入力を受け付けるには?
449 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 07:06:25 ] フック、ホットキー
450 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 08:41:04 ] WINDOWS終了時に、ファイルに設定を保存する時って 直接そのファイルに書きこむのと、一度適当なファイル作って書き込み それを本来のファイルにリネームするのでは、どちらが良い?
451 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 08:49:03 ] 正しいのは書き換え 大昔の容量比の名残りでMS謹製ソフトでもオリジナルをリネーム後に新規作成してるのがあるけど
452 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 09:19:44 ] >>451 サンクス!直接書き換えます
453 名前:デフォルトの名無しさん [2010/03/03(水) 10:12:15 ] >>449 ホットキーというのを試して成功したけど 入力が無効化されてしまうのはどうにかできないの?
454 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 11:43:13 ] >>453 非アクティブなプロセスにどんな処理させてるのかによる 単一キーじゃなくてもいいなら普段使わないキーの組み合わせで回避したらどうかな MODあたり使って
455 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:45:04 ] Raw Input RIDEV_INPUTSINK
456 名前:デフォルトの名無しさん [2010/03/03(水) 23:33:01 ] PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。 MSG::messageの中にWM_QUITが来てた時に、メッセージループから抜けようとしたんだけど、 メインウィンドウのハンドルを引数にしてたら、なぜか×ボタンとか押したとき(WM_CLOSEやWM_DESTROYでPostQuitMessage()を呼ぶようにしてる) プログラムが終了しないんだけど、第二引数にNULLを与えたらうまくいくんだけど…。 NULLを与えても大丈夫なの? 全てのメッセージを取得するようになると勝手に思ってるんだけど…。
457 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:38:56 ] 日本語のでいいからMSDN嫁カス
458 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:44:55 ] >PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。 ダウト。普通はNULLにする。 ウィンドウハンドルを指定したらそのウィンドウへのメッセージしか取れないだろ。 子ウィンドウ作る場合とかどうすんだ。 そもそもお前の場合GetMessageでWM_QUITを取得しようとした時点で WM_DESTROY実行済みでウィンドウが無効になってるから失敗して当然。 勝手に思い込む前に頭のバグ直しとけ。
459 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:47:41 ] なにこのひとこわい
460 名前:デフォルトの名無しさん [2010/03/04(木) 00:30:47 ] >>458 了解。 Win32APIを学ぶために読んだページにウィンドウハンドルを渡すって書いてあったから、鵜呑みにしてた。申し訳ない。
461 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 04:12:41 ] >>458 「ダウト」の意味を調べとこうな。
462 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 08:11:22 ] ↑どうしても書き込みたくて仕方がなかった
463 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 10:06:50 ] ↑うん
464 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 13:26:49 ] XPでExplorerをアイコン表示にした時、ファイルの位置を自由に変えられますが あの位置情報をファイルの絶対パスなどから取得するのはどうすればいいんでしょうか。
465 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:25:01 ] IShellFolderインターフェイスを使うんだろうなぁ
466 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 20:25:56 ] IFolderView:GetItemPosition
467 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:03:50 ] 質問です。 アプリの二重起動を防止したいと考えています。 それだけならMutexを使うだけなのですが、コマンドライン引数を 最初に起動したアプリに渡した後で、終了させたいと思ってます。 (最初に起動したアプリは常駐し、以後は常駐アプリにのみ処理させたい) このような場合に、データ(コマンドライン引数)の受け渡しを 行うには、どのような機能/APIを使うべきでしょうか?
468 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:16:30 ] そのプログラムがスレッド持ってるならPostしとけばいいのではないですか
469 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:22:09 ] それとグローバルアトム。
470 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:13 ] VirtualAllocExとか
471 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:47 ] ファイルマッピングオブジェクト使うのはどうかな
472 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:26:24 ] CreateProcessでexeを起動する処理を含むプログラムを作ったのですが、 自分のPCではちゃんと動くのに、知り合いのPCでは動かないみたいです。 呼び出されるexeの内部でファイルを書き出す処理をしているのですが、 ファイルが書き出されないようなので、CreateProcessの部分が原因ではないかと思っています。 またexeを直接起動したときの動作は問題ないようです。 自分のPCでは再現しないので、環境による影響があるのではないかと疑っているのですが、 環境によってCreateProcessがうまく動かないということは考えられるでしょうか? 自分のPCはWin7、知り合いのPCはWinXPです。
473 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:32:54 ] Roming関係とか考えられること多すぎて困る
474 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:35:58 ] そんな漠然とした情報じゃ何もわからん。 OutputDebugStringやログ吐きまくってどのAPIがどんなエラーコードで失敗しているかを根性で調査するしか。
475 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:53:28 ] CPUの温度とか湿度とかメモリ周りBIOS設定を確かめてみて あとCPUクーラーは良く利いているかな?クーラーは 消耗品や劣化する製品なので、メンテは必須だよん 他人が作ったアプリやOSが動作しない時は意外にありがち なのがそういった問題
476 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:03:05 ] ドライブ文字ベタ書きとかそんなオチだろうさ
477 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:15:12 ] Win7で有効な構造体のメンバがXPではリザーブとか。
478 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:24:26 ] >>473-475 いろいろ原因は考えられるんですね。 自分のPCでは再現しないので、デバッグもしづらいのがつらいところです。 >>476 exeのファイル名指定は相対パスで書いてあります。 >>477 CreateProcessの部分はネットで調べて書いたのですが、Win7発売より古い情報なので、それもなさそうです。 知り合いに協力してもらいながら調査してみます。 どうもでした。
479 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:42:06 ] あるアプリを複数起動させ、それぞれの保存ダイアログを同時に表示させた 時にどのダイアログがどのアプリのものか外部アプリから識別する方法って 有りますか?
480 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:47:38 ] コモンダイアログだって呼び出し元スレッドとプロセスに所属してるんだからその辺紐付ければ取れるでしょうよ
481 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:59:25 ] こんな時間に有り難うございます。 複数起動したアプリのハンドルは区別できてるんですけど、 例えば1番目に起動したハンドルで保存ダイアログを探して、 外部アプリから操作しようとすると、2番目に起動したアプリの 保存ダイアログにメッセージが飛ぶ現象が起きてしまってどうしたもんかと。
482 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:15:58 ] Windowをスクリーンの中央に表示するコードをください、この私に。
483 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:17:05 ] >>481 オーナーウインドウを調べれば分からない?
484 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:21:31 ] 確かHWNDからプロセスIDは調べられたと思うんだけど。
485 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:28:11 ] >>482 中華は引っ込んでろ
486 名前:479 mailto:sage [2010/03/05(金) 11:21:04 ] 皆さん、有り難うございました。 FindWindowExで調べていたからまずかったみたいです。 Owner,Ownerdを調べていったら出来ました。 ダイアログと親ウィンドウの関係が今回のことで分かりました。 また、よろしくお願いします。
487 名前:デフォルトの名無しさん [2010/03/05(金) 17:40:26 ] bitmapをjpgに変換するAPI教えて
488 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:42:02 ] www.geocities.jp/katayama_hirofumi_mz/win32/savepic.htm
489 名前:467 mailto:sage [2010/03/05(金) 22:27:15 ] お返事ありがとうございます。 >>468 すみません、理解できませんでした。 スレッドを利用したプロセス間でのデータ受け渡しがあるのでしょうか?? >>469 >>470 >>471 最初のアプリが常駐した後、同時に複数の同アプリが起動した場合でも うまくいくような仕掛け(排他制御)を考える必要がありそうですね。
490 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 23:01:50 ] 単に既に起動しているプロセスに対して コマンドライン引数をSendすればいいだけじゃだめなの?
491 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 00:20:13 ] WM_COPYDATAで十分そうだな。 後はカレントディレクトリも送っといたほうがいいんじゃないかな。 相対パスくらいはちゃんと扱ってもらわないと。
492 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:24:20 ] 日本語でOkay.
493 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:34:47 ] 問題は質問者の書き込みではウィンドウがあるのかどうか分からないことだ
494 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:37:11 ] ウィンドウをクラス化するところまでできました。 次にリストビューあたりをクラス化したいと思うのですが、 検索してもなかなかそういうのが見つかりません。 こう作るのがセオリーというのがあれば知りたいのですが、 参考になるサイトやソースコードがあれば教えて欲しいです。 特に、ウィンドウプロシージャとのやりとりが煩雑なので それをクラスにまとめる方法が知りたいです。 よろしくお願いします。
495 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:50:48 ] クラスにまとめるほうが煩雑になるの法則
496 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:53:19 ] WTLとかのコード見て見れば 俺は見たときないけど
497 名前:494 mailto:sage [2010/03/06(土) 03:13:33 ] やはりWTLになりますか。評判はいいのですが、解析となると気が引けて しまって。手っ取り早く説明しているところがあればなと思って質問しました。 やっぱりこういうのは自作するよりも利用するものなんですかね。
498 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:21:58 ] サブクラス化で検索したら
499 名前:494 mailto:sage [2010/03/06(土) 03:36:51 ] サブクラス化はコントロール自体の機能を拡張するために使う手法という理解でいました。 そうではなくて、メインからコントロールを利用しやすくするためにクラス化 したかったのです。サブクラス化することでそういうメリットが得られるのでしょうか?
500 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:56:43 ] clistviewctrl
501 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:59:59 ] 一番わかってないのは、自分が何をしたいのかだろう
502 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:14:20 ] 誰もが一度は通る道
503 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:25:55 ] 私のクラスは53万です。
504 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:43:49 ] MFCとかWinFormsとかWPFをパクる
505 名前:デフォルトの名無しさん [2010/03/06(土) 17:28:13 ] >>488 ありがとうございます。 当方C++Builder2007を使っていて、それ用のヘッダ当ありますが エラーが出まくってまともにコンパイルができませんでした・・・
506 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 23:17:57 ] とあるアプリを外部から操作するアプリを作成して一応望み通りに作れたのですが、 コンボボックスのことで教えて欲しいことがあって来ました。 CB_SETCURSELでアイテムを選択すると思うのですが、このAPIでアイテムを選択しても 一旦は切り替わるのですが、その後必ず先頭のアイテムが選択されてしまい、アイテム変更後 クリックメッセージを送ってやると選択したアイテムで処理が進んでくれるということになって しまいました。 これって、使っているAPIが悪いのでしょうか? それとも、操作しようとしているアプリの作り方(仕様?)の問題でどうしようもないことなのでしょうか? よろしくお願いします
507 名前:494 mailto:sage [2010/03/06(土) 23:35:15 ] 皆さんありがとうございます。こういうのは定番の手法が確立されているか と思ったのですが、意外とそうでもないようで。 とりあえずWTLやMFCとかの定番ライブラリのソースを調べてみることにします。
508 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 11:58:58 ] EnumProcesModules→GetModuleFileNameExでファイル名を取得したいのですが 64bitアプリケーションに対してEnumProcessModulesしてもうまく取得できずGetModuleFileNameExが失敗してしまいます 何が原因なんでしょうか?
509 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 14:51:07 ] このスレの人はそんな難しい質問には答えられないの
510 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 15:01:07 ] 32/64 で別管理なんじゃね?
511 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 16:17:06 ] 64bitビルドだと失敗しない
512 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 17:13:27 ] HANDLEの大きさが違うからでしょ
513 名前:508 mailto:sage [2010/03/07(日) 17:14:22 ] ありがとうございます 32bitでは64bitアプリケーションに対して一部の操作が無効なんですね・・
514 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:37:02 ] HANDLEが別物なんだから当たり前やが
515 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:18:56 ] UNICODE でプログラミングしてるのですが、ある関数の終了と同時に異常終了してしまいます。 以下の部分が怪しいのですが、勘違いしてないでしょうか、、、(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));
516 名前:デフォルトの名無しさん mailto:sage [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));
517 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:28:40 ] こっちでもおk _tmemcpy(&logfont.lfFaceName[0],facename,_tcslen(facename)*sizeof(TCHAR)); 只の勘違いだろうけど、ポインタ周りを理解してないうちはUNICODEは控えた方が
518 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 11:33:51 ] CRTとか… LOGFONT logfont; ::SecureZeroMemory( &logfont, sizeof( logfont ) ); ::lstrcpy( logfont.lfFaceName, _T("MS ゴシック") );
519 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:33:56 ] SecureZeroMemoryはコンパイラの最適化を受けずに、確実にゼロクリアされるけど memsetでゼロクリアって確実にされないの?
520 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:46:59 ] 今日の1行 LOGFONT logfont = {0};
521 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:32:14 ] WaitForSingleObject()ついて質問があります。 パイプを使用してアプリ間で双方向通信を行うプログラムを作成しています。 www.kumei.ne.jp/c_lang/sdk3/sdk_248.htm これを参考にしています。 アプリ間で共有しているイベントオブジェクトを使用してパイプへの書き込み読込みの排他処理を行っています。 正常に動作している場合は問題はないのですが、 仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません これを回避する方法はあるでしょうか?
522 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:51:44 ] >>512 ・片方がアボートした段階で管理者に連絡する ・タイムアウト処理を実装する
523 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:52:39 ] >>512 >>521 の間違い
524 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 16:10:40 ] 未処理例外キャチとかでアボートする前にイベント発行とかで通知 1つでもシグナル状態になったら制御を返すWaitForMultipleObject()を使用する
525 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:16:54 ] GUI操作された処理で、それらの実行/終了した事を知るにはどうしたらいいですか?
526 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:54:28 ] GUI操作の質問は、521-524と同じ質問なのかな? >>524 のレスの通り、CreateEventでイベントオブジェクトを作成する。 なお、CreateEventの第一引数の名前をユニークなものとし、 両方のアプリで認識できる事とする。 あとは、プロセスが終了する段階でSetEventを指定すれば、 待ち合わせ側でもWaitForMultipleObjectで知る事ができる。 521-524以外なら、WM_KILLFOCUSが操作を終了したヒントの一つなのでは? ※但し、コントロールによってはCBN_SELCHANGEなどもあり、 一概とはいえない。
527 名前:521 mailto:sage [2010/03/08(月) 18:01:35 ] >>523 , 524 返信ありがとうございます。 アボートする前にイベント発行の方法で考えてみます。 パイプの双方向通信て微妙に難しくありませんか? 今まで、送信と受信の2本のパイプで双方向通信してましたが、どうもスマートに見えないので 改良しましたが、今度はイベントの開放時に下手するとWaitForMultipleObject()でとまりますね・・・ なにか、いいオープンソースあったら教えてほしい・・・
528 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:31:11 ] >>526 521-524とは異なる質問です バッチ処理を行うアプリを作りたいのですが 例えばGUIアプリの、AアプリとBアプリがあるとし Aアプリで処理を実行し、終了ー>その後にBアプリを実行させたいと思っています アプリ自体は、作者が異なる者を想定していますので、イベント名などは合わせることは出来ません この状態で対応出来ますか?
529 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:52:34 ] エスパー
530 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:52:54 ] >>521 >仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません 嘘書くな。
531 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:57:03 ] そもそもpipeの読み書きに排他処理は不要。
532 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:14:24 ] >>528 まずは、Spy++でトレースして考えたほうがよいかと
533 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:17:18 ] あるウィンドウが別のウィンドウの子孫かどうかを一発で判定するAPIは無いのでしょうか? 深い親子階層を持つウィンドウの中で、 フォーカスを持つウィンドウが自分の子孫に含まれているかを判定したいのですが。
534 名前:533 mailto:sage [2010/03/08(月) 19:27:53 ] IsChild()で子だけでなく子孫も判定できるようでした。失礼しました。
535 名前:デフォルトの名無しさん [2010/03/08(月) 19:36:01 ] CreateWindowでコンボボックスを作ったんだけど、枠線消す方法誰か知ってる?
536 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:50:20 ] WS_EX_STATICEDGE, WS_EX_CLIENTEDGE, WS_EX_WINDOWEDGE 該当するフラグをマスクでアンド演算してね
537 名前:521 mailto:sage [2010/03/08(月) 20:08:09 ] いろいろと返信ありがとうございます。 525とは別人です。 >>531 パイプによるプロセス間通信で双方向通信の場合、 排他処理なしに1本のパイプで行うことは不可能じゃないですか? 以前やってみましたが、自分で書き込んだデータを自分のプロセスが読み込み(ReadFile())ます。
538 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 21:35:49 ] 意味が分からん OpenModeをPIPE_ACCESS_DUPLEXにして PeekNamedPipeでスピンロックぐるぐる回してればいいじゃん
539 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:27:07 ] ttp://school.topposystem.co.jp/PR/Tool/Win32API/System/Pipe.htm ここの説明も良い説明ではないが、まだまとまった感じ
540 名前:uy ◆e6.oHu1j.o [2010/03/09(火) 02:20:02 ] post_messageで プロセスAから プロセスBへメッセージを送れるわけですが、 これを受け取りたくない場合ってプロセスBはどうやって作ればいいんですか? させたくないのは、 とにかくプロセスBは、他プロセスからのメッセージを一切受け取りたくない = 自動操作などをさせたくない ってことです。
541 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:32:54 ] 特定のメッセージだけなら受け取って握りつぶすだけだけど 送信元が判定できないから難しいと思う
542 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:02:41 ] つか数日前からプロセス間関連の質問しまくってる人は何をやってるんですか? 宿題?
543 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:36:12 ] まぁまぁ、プロセス間通信もできればできたで楽しいし。 リダイレクタにも応用できるし!?
544 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:57:22 ] 夢はあるね
545 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:25:42 ] リソースダイアログを親ウィンドウとして扱うのってあり?
546 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:32:56 ] ありかなしか何を基準とすればいいのか分からんよ 確実になしって言えるのは実現できないことだけだ
547 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:34:00 ] なしではないけど、どうかと
548 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:37:21 ] 俺は簡単なアプリ作る時はリソースダイアログにしてる
549 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:39:26 ] ウィンドウかダイアログって時は UXガイドの450ページから読んだほうが整理付くんじゃね? (あくまでも指標なんだけどね) ttp://msdn.microsoft.com/ja-jp/library/aa511258.aspx ここの「PDF 形式」をクリックすればダウンロードできるぞ
550 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:43:24 ] 約800ページもあんのか
551 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:44:25 ] プログラム覚えだした頃って外部プログラム操作したくならない? いかにも俺はプログマーだぜって気分が味わえる。
552 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:48:08 ] プロだクマー
553 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:03:29 ] >>551 別に覚えたてに限らんでしょ。 自分でアプリ作るのは面倒だけど既製品では気に入らない時に ボタンやダイアログのハンドル調べて自動制御する簡単なソフトを作るのは みんなやってると思うんだけど。
554 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:08:28 ] 自分で作るか別のアプリ探すw
555 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:09:47 ] メッセージ送ってどうのこうのまではしようと思わないな… パイプ使ってコマンドライン編集するくらいならやるけど
556 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:18:16 ] 勝手に操作されたくないという気持ちは分からなくもないが、 たとえ、他のプロセスからのメッセージを弾く方法があったとしても、 アクセシビリティAPI経由で操作できてしまうということになるだろうと思う。
557 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 02:10:25 ] SendMessageをフックして弾けばいい
558 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 04:45:50 ] フックをフックして弾けよ
559 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 07:27:38 ] ひどい攻防ですね
560 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 09:33:04 ] キーボードやマウスのふりをするドライバとか…
561 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 09:34:02 ] メッセージ処理前にチューリングテストしよう。
562 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:22:16 ] 質問お願いします。 デスクトップに直接(文字とか画像とか)描画したいのですが、方法が分かりません。 このキーワードのままググってみて hdc=GetDC(NULL) のhdcを対象に描画する方法は見つけたのですが、これではなくて、 ウィンドウを開いた場合にも最も手前に表示されますが、私がしたいのは 一番奥、つまりデスクトップ背景画像のスグ上に表示させたいんです。 何を使えばいいんでしょうか?
563 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:25:12 ] 俺も知りたい
564 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:36:14 ] ウインドウ列挙して全部クリップしたら
565 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:55:25 ] ありがとうございます。それでやってみます。
566 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 13:07:14 ] GetDesktopWindow関数からハンドルを取ってきちゃダメ? そこからDC探って、ビットマップ作成すればいいんじゃね?
567 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:53:05 ] GetDC(NULL)はプライマリモニタのDCが 返ってくるから、普通にやると上書きされる
568 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 20:12:54 ] その壁紙のビットマップファイルの複製を作って そこに好きな文字を書く。 レジストリを書き換えて壁紙に設定 これ以上に強力な方法はないだろ
569 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 20:36:53 ] 猫にあったな<デスクトップに図形描画
570 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:06:09 ] ここはActiveDesktopの出番だな! Windows7で試したら、インスタンスは作れたけどE_NOTIMPLだった。残念。
571 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:43:52 ] いやここは俺の出番!!
572 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:02:35 ] PCの電源ボタンを押した際のWindowsの終了・スタンバイ・休止のメッセージをフックしてキャンセル(捨てる)することのできる出来るAPIありませんか? SetWindowsHookExでできるんじゃないかと思ったけどなんだか違うみたいで
573 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:11:15 ] 刮目せよ!! WM_QUERYSESSION WM_ENDSESSION あそうそう、戸田恵梨香ちゃんかわいいよね
574 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:22:33 ] >>573 ありがとうございます! 適当にウィンドウ作ってやってみる Win7なのがちょっと心配
575 名前:572 mailto:sage [2010/03/10(水) 23:24:49 ] ShutdownBlockReasonCreate() WM_QUERYSESSION でシャットダウン・ログオフをキャンセルさせることはできたのですが スリープの方がうまくいきません 調べてみたところXPまではスリープ時に送られてくるWM_POWERBROADCAST / PBT_APMQUERYSUSPENDに対して BROADCAST_QUERY_DENYを返すことでスリープ以降をキャンセルできたようなのですが、Vista以降はうまく動作しないようです SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_CONTINUOUS)も試してみたのですが効果がありませんでした Windows7で同じような処理をする方法はないでしょうか?
576 名前:デフォルトの名無しさん [2010/03/10(水) 23:28:44 ] VBでUSB-シリアル変換ケーブルを使う通信アプリ作ってるんですが、 ポーリングのためにWriteFileするタイミングで ケーブル(USB側)を引っこ抜くとWriteFileが返らぬ人になって困っています。 ポートも握り締めたまま逝ってしまわれるので、どうにも・・。 エラーで良いので戻って欲しいのですが、 どういう方法が一般的なのでしょうか?
577 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 23:33:32 ] スレッドでやれば
578 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:06:30 ] >>576 overwrapped
579 名前:576 mailto:sage [2010/03/11(木) 00:49:23 ] ありがとうございます。 >>577 戻ってこなければスレッドごと破棄でポートを 手放してくれますかね〜。やってみまつ。 >>578 hmm...OVERWRAPPEDだと処理がすぐに返るんですね! タイムアウトの処理が難しそうですが挑戦してみます。 こっちの方がシンプルなのかなぁ。
580 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:05:17 ] ディレクトリ巡回するコードでリパースポイントやらシンボリックリンクやらで 無限ループに陥るのを防止するコードで何かいいのないですか。 深さかパスの長さに制限つけちゃうのが手っ取り早いとは思いますが厳密とは言い難いです。
581 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:32:18 ] そこまで分かってるのにFILE_ATTRIBUTE_REPARSE_POINTに何で目が行かないんだYO
582 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:21:57 ] リパースを阻止したいんじゃなくて循環を阻止したいんじゃないか? それならルートからGetFileInformationByHandleを呼び出してVolumeSerialNumberとFileIndexが全て一致しないか調べるくらいしか思いつかない
583 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:50:02 ] >>580 一回見た場所を覚えておいて同じところに戻ってきたらそこで枝を打ち切って幹に戻ればよい
584 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:06:06 ] オレならディレクトリ情報でハッシュ作って照合する
585 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:15:20 ] HDDのバックアップ取るフリーウェアが循環対策してなくてえらい目にあったことならある
586 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 02:19:21 ] /etc に symlink してるアホがいて chmod -Rf 777 /usr/hoge/fuga みたいなことしたら /etc 以下全部 777 になって焦ったことはある あれはなんだったんだろう
587 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 04:05:08 ] そもそもディレクトリを巡回する事自体が間違ってる
588 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 04:31:44 ] rootユーザーでそんなことしなければエラーで止まるだろうに
589 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 04:49:07 ] とりあえず糞OS使ってる奴はスレ違いだから即座に死ぬように
590 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 05:25:29 ] ここはWIN32APIスレだぞ
591 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 05:46:31 ] クソが付くOSはリナクソとOSエックソの二つだけだ
592 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 07:41:51 ] >>575 それ、本当にスリープに移行しているのか? 画面の出力が止まっているだけじゃないか?
593 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 09:13:38 ] >>592 Vista以降はPBT_APMQUERYSUSPENDが省かれている
594 名前:デフォルトの名無しさん [2010/03/12(金) 13:44:59 ] >>410 ヒント:キーロガーの逆
595 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:13:47 ] ガ・・ロキー?
596 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:19:05 ] >>410 俺ならサービス作ってそっから一定間隔でクリップボードからにするプログラム呼び出すか クリップボード関連のAPIをフックするかな これならプログラムがLocal System Accountで動くからすべてのプログラムを制御できる
597 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:39:41 ] そしてそれらの努力はOfficeのクリップボード履歴により無に帰すのであった
598 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:48:16 ] 普通にテストと称して即興で学習内容を絡めた例題を出して作らせればいいじゃない。 宿題なんて所詮はテストの為の予習復習だろ。
599 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:40:46 ] 他人の文書をコピーする以外にもクリップボードにはいろいろな使い方があるんだが、 それらもすべて封じてしまうのか。 不便じゃのう。
600 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:59:41 ] ファイルにキーボード入力履歴を保存したり それを読み取って指定したウィンドウ に送るコントロールを誰か作るだろうから そういうサービスがあってもコピーは横行だろから 効果は薄いだろね。(IMEの自動学習をOffにしないと ならんだろうが)
601 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 01:20:36 ] コピペ禁止って手段が目的になってる気がするな。 本来の目的は、生徒にちゃんと理解させることだと思うんだけど。 それなら結局テストとかで判断できそうなんだけどな。
602 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:04:31 ] つーかネットワーク構成で教師のPCと各生徒のPC以外の リンクを禁止させ(IP生徒間では非公開。リブート=ログオン単位に 変化させる)、FDもDVDROMとかも付けない、USBメモリが使えないようにUSB端子をボード上で断線させる(ハンダコテだけで十分できる)キーボードマウスはUSBタイプだがPS/2変換を行う。 教師との通信はクリップボードが使えない専用ソフトで行う。 Windows標準装備も含め不要なアプリケーションは全部外す。 当然インターネットにも繋げない。 教材はすべて画像ファイルにして、専用ビューワーで閲覧させる。 これくらい徹底的にやらないと教育現場じゃ使えないだろ 但し教師のほうも3年は休職して特別訓練を受ける必要は あるだろうが
603 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:17:19 ] >>602 教師の方は精神病院で療養を受ける必要があるな
604 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:19:39 ] >>602 の言ってる事の半分が無意味と意味不明で構成されてる
605 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:22:09 ] PCを媒体とした教育では、教師は、学習作業の進行と 学習データ回収作業に徹し
606 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:40:58 ] 教師=精神病医師であると同時に精神病患者である これでよくね?
607 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:48:26 ] >>602 はドシロウトの妄想だから読んでも無駄 今の学校はもっとスマートに運用してる
608 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:52:11 ] >>607 どんな風に?
609 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:55:44 ] 生徒の耳に1000Base-T端子が付いてるからそこに ケーブル繋いで...だろw
610 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:02:46 ] 最近の子供は恵まれてるよ。公立小学校でもサーバルームがある。 学校ごとにドメイン組んで、生徒には個別にアカウントが与えられてる。 権限設定して生徒同士ではファイルがコピーできないようになってる。 USBメモリ対策は企業なんかでやってるのと同じ。 インターネットも普通に使えるし、かなり金と手間をかけてシステム組んでる。 こないだ父兄の見学会に行ってびっくりしてきたとこ。
611 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:24:19 ] そりゃ教師だってPCやりたいだろうからなw だがいずれほぼ一生PCに付きまとわれる運命の 星に生まれた現代人にとっては、学校だけはそう でない場所だと願いたいものだぜw
612 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:13:49 ] とはいえそういう子供たちは パソコンがプログラミングして使うものだなんて知らずに育つんだろうか
613 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:17:28 ] >>611 みたいな時代錯誤のPCアレルギー患者が何故このスレに?
614 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:37:20 ] 断線に半田ごて・・・だと?
615 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:57:02 ] PCアレルギーだからPCの世界に入りPCを批判するも PCでPC教育せざるを得ない現実を憂う なあんてね >>614 ハンダを溶かしてポンプで吸い取って一時的にコネクタとか を機能停止させた経験とかある世代なんてもう40代 後半以降が主流だろな(目的を完全に達することができる かどうかは回路次第だが)
616 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:26:19 ] 昔はカッターナイフで基板のパターン削ったり ICの足を上げたりとかやったっけ 今はたいていのことがソフト的にできるし、学校だと クライアントが何百台もあるのにハンダゴテとか不可能だし そんなことしなくてもUSBは殺せるんだし というわけで、>>410 はもうちょっとWindowsの 内部の勉強をして別の方法を考えた方がいいと思うよ クリップボード消されると普通に文章を書くだけでも 推敲もできなくて能率がガタ落ちしそうだわ
617 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:28:47 ] >>615 いや、別に20代でもやった事はあるが PCパーツにポンプで吸えるほどの巨大半田は無い やるならカッターで削る そもそも学校はリースだし、業者に注文すれば普通にUSB無しが来る
618 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:31:37 ] コピペされたら意味が無いって事はだ その課題そのものに根本的に意味が無いって事だ
619 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:20:59 ] 複数のユーザーIDを与えて、そのユーザー単位に使えるアプリを 厳格に分離する。アクセス可能なフォルダーも厳しく制限する。 こうすれば安直なクリップボード経由の複製を防げるし 系統の異なるアプリケーション操作を異なるデスクトップで 行うので混乱が少なくて良くね?(XP以降じゃないと別ユーザー の同時ログオンは無理だが) 願わくは、今は廃れたMDIにデストップ全体を表示し 同一画面に複数ユーザーセッションを同時表示することが出来るような 機能がWindowsにあれば良いんだが...
620 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:35:37 ] >>619 言ってる事とやりたい事が意味不明です
621 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:45:24 ] 理解不能なことは理解できたみたいだ
622 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:55:26 ] 無知な素人ほど「ナニカ」を制限したがるんだよなぁ そして穴だらけで意味の無いことばかり言う
623 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:57:19 ] 一方ソ連はD&Dでファイルをコピーしてメニューの編集→挿入で中身を取り込んだ
624 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:01:33 ] >>622 そだね。一つのウィンドウに、スタートメニューとかタスクバーを 表示できるのはただ一つとかね。制限が多いよ
625 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:14:39 ] >>619 だから、そういう風にデスクトップが色んな 種類の「個性的な」アプリがおんなじ額縁に 入った状態でごちゃごちゃになってるの見るの 見せるのがヤだという理由でWebアプリが増え てきてるんだろ?今時のまともな学校だったら 何百台のPCの同時アクセスに堪える凄いスペッ クのサーバーがフル稼働してるのが普通。
626 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:21:49 ] あんまり制限しすぎるとコンピュータの勉強にならない あれもだめこれもだめかなんだPCてつまんないじゃんと思うか それともクラッキング技術に長けてくるかもしれないなw
627 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:38:44 ] 学校はとにかく「アレもダメ、コレもダメ、ソレもダメ」から入るからな そんだけ制限するからには、一体何をさせてくれるんだ?と思ったら 今配ったプリントを打ち込んでワードファイルにしなさい とか言うボケ老人じみた課題を出してくれる カス教師共は初心者にPCに対する嫌悪感を植え付ける天才だわ
628 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:47:25 ] 電子データの基本であり最大の特徴である「複製の容易さ」を封じる事から始めるなんて教師失格と言うか、死ねばいいのに
629 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:56:20 ] 軍隊なんかで一番最悪な上官パターンだよな
630 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:00:41 ] EmptyClipBoad.....
631 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:05:09 ] 端末をthin client クリップボード学校全体共有にして サーバー側で1秒毎に LPCTSTR "否"を クリップボードに注入し続ければイイんじゃないかな
632 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:08:42 ] >>631 全く無意味
633 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:10:04 ] >>631 腹立たしいほどに無意味
634 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:12:10 ] 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏 ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏 ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
635 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:50:52 ] >>625 それだけの設備を持っている「今時のまともな学校」って 具体的にはどことどこ?
636 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:59:20 ] くだらないからここまでな お前らのLifeTimeをTerminateすっぞ あと>>410 は辞職しろ
637 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:02:37 ] だがD&DのOLE経由でコピーできてしまうのであった・・・
638 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:25:38 ] >>627 アレもダメ,コレもダメ、ソレもダメというのは 結局不用意な操作や誤操作は、個別に作ってあるアプリ 同士が干渉して収拾がつかない結果につながるから ということが多いんでね? 単独アプリならUndo対応しているものが多いが 複数アプリ連係操作の場合はそうとも限らんから。 連係操作して始めて意味を為すアプリグループも あるから単独のアプリの全画面表示を切り替えて というインターフェースは今時あり得ないことは 言う迄もないし...
639 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:28:11 ] スレタイも読めなくなったジジイ消えろ
640 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:54:06 ] 大学で学生が教師のフォルダに提出した提出ファイルを編集するのは普通は不可なんだが caclsコマンド使って権限変更したら編集・削除できるようになった 今現在はどうなってるかわからんが・・・ こういう場合どうやって回避する?caclsは外部コマンドだし
641 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:56:11 ] 若者(笑)ktkr
642 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:58:16 ] >>640 caclsコマンドを実行できない権限のアカウントでアクセスさせる
643 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:01:46 ] んだからプロセス同士の相互干渉連係を前提としていた 古き良きWin16APIに対し、原則相互不干渉を前提としつつも、 多種多様なIPCを用いて極力Wn16APIとの連続性を保持し ようとするWin32APIの話題の原点そのものなんだが.. ついていけないワカい人が多いみたいなんで取り敢え ずクローズね。
644 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:26:30 ] >>642 後付けになってごめんね それが俺その時学生で試しにやってみたらできたから学生全員がアクセスできてたと思う 一応ゼミの先生と事務所?システム管理?の所には報告したから大丈夫と思うけど アクセス制限かありがとう
645 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:16:53 ] "MSゴシック"で表示しても、『等幅』ではないのですが、なぜでしょう? エディッタ上では罫線も縦横きれいに表示されるのですが、、、
646 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:48:07 ] "MS ゴシック"
647 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:31:55 ] >>410 つうか、なんで1秒後ごとにクリップボード消去してるのかわからん クリップボードコピーした瞬間にクリップボード消去すればいいじゃん 負荷かからないし
648 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:42:29 ] >>638 >>643 ずっと変な改行してるバカ お前話題を理解できてなさ過ぎて邪魔
649 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:31:33 ] 将来著作権や特許などが全部廃止されるときが必ず来るね
650 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 18:00:40 ] >>643 お前懐古したいだけだろ? 少しは空気嫁
651 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:07:23 ] んだからアプリのウィンドウを同時に沢山作って 連係して使うことが出来るようにはなったけど 逆にそれを一部制限して使うことは出来なくなって しまった。パワーユーザーが自分で使う分には 困らないがそうでない人にそうなれるように教え なければならない(つまり引き継ぎたい)時には エラク苦労するねってことだろ。 クリップボードを使わせたく無いとかD&Dを禁止 したいとかはそのあたりから出てきてるんじゃね? APIスレの住人はそういう苦労は少ないだろけど
652 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:06:35 ] クリップボードを使うな、でOK。 引継ぎとかそういう話に持っていくならね。
653 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:10:41 ] クリップボード監視して、テキストだったら全て「うんこ」にしちゃえ
654 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:11:07 ] >>651 お前懐古したいだけだろ? 少しは空気嫁
655 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:11:53 ] >>651 ∩___∩ / ノ \ ヽ | ● ● | なにマジになってんの? 彡 (_●_) ミ /、 |∪| ,\ このAPIやるから帰れよ /.| ヽノ | ヽ ,,/-―ー-、, --、 .|_,| r-、,'''";;:;;:;::;;;;:;;::;:;:;;::;:;`'- /_,l,,__ ) |,,ノ;;:;r'" ̄ ゙̄^"`Y'-、;;;::;:;::;:;:;:;::;:| .ヽ,′ ExitWindowsEx"";;;;;⌒゙') ´`゙'''''''''''‐-‐'"`‐-‐'"゛ `゙´ | .‖ / ("___|_`つ
656 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:14:01 ] 話はそう単純なもんじゃないってのは Cのライブラリ関数使うのと同じ感覚じゃ、APIなんて 使えたもんじゃない、一筋縄じゃいかない ってのと同じ
657 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:21:53 ] >>651 が何を言ってるのかさっぱり分からない
658 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:25:20 ] 何も言ってないに等しいから気にすんな
659 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:02:37 ] 鬼才すぐるw
660 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:29:20 ] >>410 顔真っ赤すぎ というか何の教師やってるのかしらんがどうせITの負け組みだろw タスクバーのプロセス隠蔽なんて少し調べればわかるだろうに
661 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:31:55 ] 教師の癖に文章がやたら・・・・
662 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:35:39 ] なんでまた今更半月前のレスに顔を真っ赤にしてる奴らが 湧いてきたよくわからんね。
663 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 05:36:25 ] >>660 それプロセス隠蔽って言わない
664 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:06:40 ] 馬鹿な教師が居るらしいという肴があれば、それで十分宴会は開ける
665 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:42:55 ] 宴会まではいかないなあ。
666 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:56:21 ] Windows APIってどの位覚えればプログラミングが ラクになるんでしょうか?先輩に聞いたら 「10個程度覚えれば後は都度調べればいいけど0個じゃ辛い」 といってるんですが信じていいでしょうか?
667 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:07:55 ] 別に都度ググってもいいです ただ、どのDLLがどの機能を管轄しているかくらいは知っておくといいかもしれません /* 6個でウィンドウ表示 RegisterClassEx CreateWindowEx GetMessage TranslateMessage DispatchMessage PostQuitMessage */
668 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:14:10 ] 10個じゃきついだろ・・・。
669 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:18:00 ] ググるためにもある程度体系がわかってれば良い
670 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:36:32 ] Windows API を覚えても Windowsアプリを作ったり、Windowsの仕組みを覚えられるだけで あまりプログラミングは楽にならない でも画像処理とかは楽になるかもしれない
671 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:12:45 ] 構造体とメッセージもセットで
672 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:34:06 ] おばけのQちゃんの絵描き歌をシミュレートして 繰り返しアニメーション表示するアプリをAPIだけで組みたい んだけどどう組めばいいですか?
673 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:36:15 ] まずウィンドウクラスを登録します
674 名前:672 mailto:sage [2010/03/14(日) 14:38:25 ] マウスで画面のサイズを変えた際に、縦横の比率を 変えないようにし、書かれているアニメもそれに 応じて(途中迄でも)大きさを変えたいです。
675 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:40:13 ] ウィンドウを表示して、その上に描画していけばいい。 で、ウィンドウサイズが変更されようとしているときに、縦横比率を変えないように変更して、 ウィンドウサイズに合わせて描画サイズを変えればいい。
676 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:43:20 ] 演奏してる曲と同期してアニメーションさせるって話なら少し面倒。
677 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:46:58 ] タイミング固定とかならそれほどでもないだろうけどね。
678 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:47:55 ] 歌詞ファイルみたいなフォーマットを決めてやるとか
679 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:10:24 ] マルチコア環境でプロセス毎のCPU使用率を正しく取得するにはどうすればよいのでしょう? PdhGetFormattedCounterValueで取得してみたところ、取得できるCPU使用率は タスクマネージャで確認できるCPU使用率の2倍になっています(2コアだから?)。 ということは取得できるCPU使用率の最大値は200となるはずと思っていたのですが 何故か100までしか取得できませんでした。(100以上は100として取得できる模様) ちなみにWindows付属のパフォーマンスモニターで確認してみると、こちらも タスクマネージャの2倍の値が表示されていますが、100以上の値もきっちり正しく表示されます。 取得できる上限を200にする方法か、タスクマネージャで表示されている値を 簡単に取得できる方法はありませんか?
680 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:16:50 ] ちょっと取得してる部分のコード晒してみろよ
681 名前:デフォルトの名無しさん mailto:sage [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;
682 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:42:15 ] >>666 俺なんて引数も戻り値もちゃんと覚えているのは10個もない。 ただ、どんなAPIが「存在するか」はだいたい把握している。
683 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:16:25 ] >>681 PdhGetFormattedCounterValueのヘルプを見てみたが、 dwFormatにPDH_FMT_NOCAP100フラグが無いと、 100を超える値は全て100で返る仕様っぽいぞ。 家はシングルコアだから試しようが無いけどなorz
684 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:29:01 ] >>683 おっしゃるとおりでした! PDH_FMT_NOCAP100フラグを立てると100以上の値も取得できるようになりました。 ありがとうございます!
685 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 22:00:40 ] >>666 Win32APIの目次みたいな一覧が色んな所にあるから 一通り流し読む 引数とかは一切無視 関数名と1行説明だけ読む そんでおわり その先輩はちょっと若いな あんま意味の無い助言
686 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:52:55 ] 昔Win32本といえばpetzoldだったけどあの本も今や.net本になってしもうたな
687 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:53:54 ] グローバルフック使ってプログラム側からキーボード操作したいんだけど、どうすればいいのか全然分からん 検索ワードだけでいいから誰か教えておくれ
688 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:57:59 ] msdn.microsoft.com/ja-jp/library/cc429971.aspx 大して難しくないような まあどうすればいいか全然分からんって言う奴は はじめからやる気がないんですけどね
689 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:14:17 ] ウィンドウメッセージを使ってるのかGetAsyncKeyState()系を使うのかで 挙動が違ってくるし、 突き詰めたらそんなに簡単な話でもないと思うけど。
690 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:24:05 ] ありがと でもググっても監視する方しか分かんないや
691 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:22:08 ] 送るだけならフックの必要は無いから見つからないのも当然
692 名前:デフォルトの名無しさん [2010/03/15(月) 20:19:51 ] シリアル通信について教えてください。 「WaitCommEvent」はタイムアウトで戻す事は出来ないんでしょうか? タイムアウトはRead,Writeのみなんでしょうか?
693 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 21:59:48 ] 非同期通信に対応してるのだから、勝手にタイムアウトでも何でもすればいい。
694 名前:692 [2010/03/15(月) 22:19:59 ] そのタイムアウトさせるのを、監視するスレッドを自前で作る必要があるのか SetCommTimeoutsみたいな設定で、WaitCommEventからイベント無しで 戻せるのか知りたいんです。
695 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 22:52:42 ] >>692 昔やった方法 ・CreateFile()でPENDINGで開く ・WaitCommEvent()でイベントオブジェクトとともに渡す→すぐ返る→戻り値0、GetLastError()がPENDINGなら正常 ・WaitForMultipleObjects()に指定し、でタイムアウトつきで待つ スレッド化してるからWait〜で他のイベントオブジェクトもついでに待ってたな。 ググればどこかにサンプルがあるはず。自力で書けなかった記憶があるから。 特にPENDINGを使用する箇所
696 名前:692 mailto:sage [2010/03/15(月) 23:23:06 ] >>695 PENDINGとはオーバーラップド構造体云々ってやつですか? 良く分からないので明日ヘルプ見ながら実機でちまちま試してみます、 有難うございました