Win32API質問箱 Build90
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/10/16(土) 13:57:43やさしいお兄さんやHなお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!
■過去スレ
Win32API質問箱 Build89
http://hibari.2ch.net/test/read.cgi/tech/1282403810/
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage
NullPointerExceptionを「ぬるぽ」と呼ぶスレ5
http://hibari.2ch.net/test/read.cgi/tech/1269551404/
過去スレはwikiから探してください。
00021
2010/10/16(土) 13:58:260003sage
2010/10/16(土) 16:50:50なぜなんでしょうか
0004sage
2010/10/16(土) 16:52:05http://technet.microsoft.com/ja-jp/sysinternals/bb896653.aspx
0005デフォルトの名無しさん
2010/10/16(土) 17:17:04スレタイ読め
0006デフォルトの名無しさん
2010/10/16(土) 18:13:31初心者から上級者まで有用な情報技術高度
http://studiokingyo.fc2web.com/
0007デフォルトの名無しさん
2010/10/16(土) 19:19:130008デフォルトの名無しさん
2010/10/16(土) 19:19:58exeの中にドライバーが仕込んであって、それで読みだしてんじゃないの?
0009デフォルトの名無しさん
2010/10/16(土) 19:21:42スタートアップのフォルダパス取得方法わかりません、教えてくれませんか。
0010デフォルトの名無しさん
2010/10/16(土) 19:37:150011デフォルトの名無しさん
2010/10/16(土) 19:37:49ドライブC以外に入れてるなら環境変数からROOTとってくれば
0012デフォルトの名無しさん
2010/10/16(土) 19:58:530013デフォルトの名無しさん
2010/10/16(土) 20:18:050014デフォルトの名無しさん
2010/10/16(土) 20:20:550015デフォルトの名無しさん
2010/10/16(土) 22:26:52質問させてください。
VC++2010Expでビットマップの編集ソフトを作ろうと考えています。
ファイルから読み込んだものを、ほかのDIBにコピーしたいのですが、
下記のようにプログラムしてもうまくいきませんでした。
UINT adjust4multiples(int i){
return (UINT)((i+3)/4)*4;
}
として、
HBITMAP from_file = (HBITMAP)LoadImage(NULL,FilePath,IMAGE_BITMAP,x,y, LR_CREATEDIBSECTION | LR_LOADFROMFILE );
DIBSECTION dibsection_info;
GetObject(from_file, sizeof(DIBSECTION), (LPVOID)&dibsection_info );
for(int i=1; i<=y; i++){
int iymem = (y - i) * adjust4multiples(Width*3);
int iyfile = (y - i) * adjust4multiples(x*3)
CopyMemory(memBITMAP+iymem, dibsection_info.dsBm.bmBits+iyfile, x*3);
}
memBITMAPはあらかじめDIB用にメモリ確保してあり、問題ないのですが、bmBitsを使ってコピー元を表そうとしても、
コンパイラから、完全なオブジェクトをさすポインタでないといわれ、コンパイルできません。
(RtlCopyMemory,memcpyでも)
CreateDIBsectionで作られたものであれば、ピクセルへのポインタがあらかじめ手に入るのですが、LoadImageの場合は
どうすればいいのでしょうか。
手直しすればこの方法で問題ないのか、そもそもLoadImageをつかって楽をしようとしたのが間違いなのか。
よろしくお願いします。
0016デフォルトの名無しさん
2010/10/16(土) 22:30:24ブラシなどのメニュー用のフォームを作りたいのですが
こういう起動時に出てくる、子ウィンドウのようなメニューって
どういう呼称になるのですか?
キーワードがわからず
0017デフォルトの名無しさん
2010/10/16(土) 22:44:32方法が正しいかどうかはよくわからんが、エラーの直接の原因はvoidポインタに加算してるから。
001815
2010/10/16(土) 22:52:20なるほど、汎用ポインタはキャストしないといけないのですね。
LPBYTEにキャストしてやったら、コンパイルできました。
うまく動いてるみたいです。
ありがとうございます。
0019デフォルトの名無しさん
2010/10/17(日) 00:22:16俺は今まで10年以上、この関数にHDCを渡すためだけにGetDC(NULL)と書き続けてきたのです。
誰か俺の人生を返してください。
0020デフォルトの名無しさん
2010/10/17(日) 05:51:400021デフォルトの名無しさん
2010/10/17(日) 10:30:400022デフォルトの名無しさん
2010/10/17(日) 18:37:440023デフォルトの名無しさん
2010/10/17(日) 18:51:240024デフォルトの名無しさん
2010/10/17(日) 21:07:44WS_EX_TOOLWINDOW
0025デフォルトの名無しさん
2010/10/17(日) 23:50:100026デフォルトの名無しさん
2010/10/18(月) 07:33:570027デフォルトの名無しさん
2010/10/18(月) 14:26:170028デフォルトの名無しさん
2010/10/18(月) 15:44:230029デフォルトの名無しさん
2010/10/18(月) 15:48:480030デフォルトの名無しさん
2010/10/18(月) 16:01:500031デフォルトの名無しさん
2010/10/18(月) 16:26:160032デフォルトの名無しさん
2010/10/18(月) 16:44:430033デフォルトの名無しさん
2010/10/18(月) 17:32:290034デフォルトの名無しさん
2010/10/18(月) 18:03:030035デフォルトの名無しさん
2010/10/18(月) 19:56:330036デフォルトの名無しさん
2010/10/19(火) 00:36:47RegisterHotkeyを使ってファンクションキーにホットキーを登録しようと思うのですが、
BOOL RegisterHotKey( ウィンドウのハンドル, ホットキーの識別子, キー修飾子フラグ, 仮想キーコード );
このキー装飾子フラグというのを無視する方法は無いでしょうか
0037デフォルトの名無しさん
2010/10/19(火) 00:42:34全部にフラグ立てとけばいいんじゃないの?
003836
2010/10/19(火) 01:18:24キー装飾子フラグを0で成功しました。
0039デフォルトの名無しさん
2010/10/19(火) 02:13:370040デフォルトの名無しさん
2010/10/19(火) 04:12:51"さ"は舌を噛むんだぞ。
0041デフォルトの名無しさん
2010/10/19(火) 05:52:230042デフォルトの名無しさん
2010/10/19(火) 06:54:320043デフォルトの名無しさん
2010/10/19(火) 09:17:500044デフォルトの名無しさん
2010/10/19(火) 10:07:36これはいいサイトだな
0045デフォルトの名無しさん
2010/10/19(火) 10:13:58ブラクラ注意
NG推奨
0046デフォルトの名無しさん
2010/10/19(火) 18:36:500047デフォルトの名無しさん
2010/10/19(火) 18:44:200048デフォルトの名無しさん
2010/10/19(火) 19:45:18正常に変換してくれません。
どのようにすれば正常に変換してくれるのでしょうか。
0049デフォルトの名無しさん
2010/10/19(火) 19:55:250050デフォルトの名無しさん
2010/10/19(火) 19:59:53はいはいワロスワロス
0052デフォルトの名無しさん
2010/10/20(水) 09:24:100053デフォルトの名無しさん
2010/10/20(水) 10:44:25暇だな
0054Perl忍者 ◆M5ZWRnXOj6
2010/10/20(水) 12:10:250055デフォルトの名無しさん
2010/10/20(水) 12:39:460056デフォルトの名無しさん
2010/10/20(水) 12:41:00糞コテPerl忍者が釣れたぞ!
0057デフォルトの名無しさん
2010/10/20(水) 18:38:570058デフォルトの名無しさん
2010/10/20(水) 20:21:160059デフォルトの名無しさん
2010/10/20(水) 20:27:02そのときのLOWORD(WPARAM)ってダブルクリックされた物のIDで合ってますよね?
0060デフォルトの名無しさん
2010/10/20(水) 20:41:350061デフォルトの名無しさん
2010/10/20(水) 20:44:530062デフォルトの名無しさん
2010/10/20(水) 21:37:190063デフォルトの名無しさん
2010/10/20(水) 21:49:54UINTがWM_COMMAND、HIWORD(WPARAM)がLBN_DBLCLKで処理しようとしているんですが、これは間違っているんでしょうか
0064デフォルトの名無しさん
2010/10/20(水) 21:57:100065デフォルトの名無しさん
2010/10/21(木) 00:09:37ディレクトリ名渡して"explorer"を指定するとフォルダの左側に
フォルダツリーが開いてしまいます。
"open"を指定すると例えば「c:\test\aaa\」と「c:\test\aaa.exe」が
あるとしてc:\test\aaaを開こうとするとexeの方が起動してしまう。
ShellExecuteでフォルダを開く場合パスの末尾に固定で\をつける処理を
入れればフォルダが開けるんですけど、そうすると/区切りのパスの時に
\を固定でつけてしまうのが微妙です
対策としてはinstrで/を検索して存在しなかったら"\"を追加する事くらいしか思いつきません。
なにかもっとスマートにフォルダを開く方法ないでしょうか
0066デフォルトの名無しさん
2010/10/21(木) 00:14:34x ShellExecuteでフォルダを開く場合パスの末尾に固定で\をつける処理を
o "open"でフォルダを開く場合パスの末尾に固定で\をつける処理を
0067デフォルトの名無しさん
2010/10/21(木) 00:26:270068デフォルトの名無しさん
2010/10/21(木) 00:37:350069デフォルトの名無しさん
2010/10/21(木) 01:46:37VC++2010expで、コモンダイアログで名前をつけて保存を開くときに、
wchar_t filename_full[_MAX_PATH];
wchar_t filename[_MAX_PATH];
OPENFILENAME ofn;
として、ofnの初期化をするときに、
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.nMaxFile = sizeof(_MAX_PATH);
ofn.nMaxFileTitle = sizeof(_MAX_PATH);
としたところ、バッファが小さすぎるとエラーになり、
ofn.lStructSize = sizeof(ofn);
ofn.nMaxFile = sizeof(filename_full);
ofn.nMaxFileTitle = sizeof(filename);
としたら、問題なく動きました。
これはいったいどういう理由なのでしょうか。
0070デフォルトの名無しさん
2010/10/21(木) 01:49:29ofn.nMaxFile = _MAX_PATH;
ofn.nMaxFileTitle = _MAX_PATH;
の間違いです。
0071デフォルトの名無しさん
2010/10/21(木) 01:55:23sizeof(wchar_t)*_MAX_PATH;
と同義
0072デフォルトの名無しさん
2010/10/21(木) 02:13:36を調べてみたら 2 でした。
よくわかりました。
ありがとうございます。
0073デフォルトの名無しさん
2010/10/21(木) 12:14:21適当なホームページアドレスで試してみても大丈夫なの?
あの犯罪とかにならないか心配でさ。
0074デフォルトの名無しさん
2010/10/21(木) 12:37:520075デフォルトの名無しさん
2010/10/21(木) 12:45:18ttp://msdn.microsoft.com/ja-jp/magazine/cc507634.aspx#S2
0076デフォルトの名無しさん
2010/10/21(木) 12:47:530077デフォルトの名無しさん
2010/10/21(木) 13:31:150078デフォルトの名無しさん
2010/10/21(木) 17:21:46判定する方法はありますか?
0079デフォルトの名無しさん
2010/10/21(木) 19:44:07フォーカスはソート前と同じ位置のままで、フォーカスがあったアイテムを追いかけてくれません。
どのようにすれば、追いかけてくれるのでしょうか。
0080デフォルトの名無しさん
2010/10/21(木) 21:30:56自分で設定しろ
0081デフォルトの名無しさん
2010/10/21(木) 23:23:440082デフォルトの名無しさん
2010/10/21(木) 23:26:110083デフォルトの名無しさん
2010/10/21(木) 23:42:480084デフォルトの名無しさん
2010/10/21(木) 23:55:32008579
2010/10/22(金) 01:02:35http://www5b.biglobe.ne.jp/~kouta_y/c/c07.html
ListView_GetItemState()やListView_GetItem()を使い試行錯誤しているのですが、
複数選択の際も対応させるとなると手が出ません。
何方かお願いします。
0086デフォルトの名無しさん
2010/10/22(金) 02:13:25タブコントロールでTCS_FIXEDWIDTHを指定すると、英文字列は中央に正しく表示されますが、日本語文字列が右に寄ります。
多分文字数を半角の前提で計算して表示しているからなのでしょうが、これはコントロールのバグなのでしょうか。
ご存知の方お教え願います。
0087デフォルトの名無しさん
2010/10/22(金) 04:54:31たぶん
ソートする前に、stateをOWNERDATAへ格納しておいて
アイテムをセットの時に、stateを設定すればいいんじゃないの
0088デフォルトの名無しさん
2010/10/22(金) 07:16:470089デフォルトの名無しさん
2010/10/22(金) 07:58:240090デフォルトの名無しさん
2010/10/22(金) 08:45:35READは成功しています。
WindowsXPではうまくいきました。
サービスはVC7.1
VB6です。
何かうまくいく方法はないでしょうか?
0091デフォルトの名無しさん
2010/10/22(金) 08:56:590092デフォルトの名無しさん
2010/10/22(金) 08:57:270093デフォルトの名無しさん
2010/10/22(金) 11:22:26セッション0で検索
0094デフォルトの名無しさん
2010/10/22(金) 11:44:52はいお前死亡
0095デフォルトの名無しさん
2010/10/22(金) 11:53:210096デフォルトの名無しさん
2010/10/22(金) 12:01:580097CopyRect
2010/10/22(金) 12:08:510098デフォルトの名無しさん
2010/10/22(金) 12:15:34おまえらのAPIをよこせぇぇ!
ぐはあぁぁ・・
0099デフォルトの名無しさん
2010/10/22(金) 12:58:550100デフォルトの名無しさん
2010/10/22(金) 13:57:200101デフォルトの名無しさん
2010/10/22(金) 14:14:00キャパシティが0であるアナルデバイスに対する入力は未定義の動作を引き起こします。
この関数は失敗すると負の数値を返します。
0102デフォルトの名無しさん
2010/10/22(金) 15:27:230103デフォルトの名無しさん
2010/10/22(金) 15:59:530105デフォルトの名無しさん
2010/10/22(金) 16:49:090106デフォルトの名無しさん
2010/10/22(金) 17:59:23GetWindowLong(FindWindowEx(FindWindow("Notepad", NULL), NULL, "Edit", NULL), GWL_WNDPROC)
どちらもウィンドウハンドルは取得できましたが、GetWindowLong()の戻り値は0でした。
ちなみにメインウィンドウのプロシージャも取得できません。
どうしたら取得できますかね?
winmapというソフトでも取得できませんでした。
0107デフォルトの名無しさん
2010/10/22(金) 18:21:180108106
2010/10/22(金) 18:49:57その問題はDLLをターゲットプロセス自身にロードさせることで解決しました。
他プロセスでも自作のプログラムで作ったウィンドウで試したところちゃんとプロシージャのアドレスを受け取れました。
しかしメモ帳は相変わらず0のままですorz
0109デフォルトの名無しさん
2010/10/22(金) 19:28:440110デフォルトの名無しさん
2010/10/22(金) 21:43:340111デフォルトの名無しさん
2010/10/22(金) 21:56:200112デフォルトの名無しさん
2010/10/22(金) 22:15:150113デフォルトの名無しさん
2010/10/22(金) 22:18:32なるほど!thxであります!
0114デフォルトの名無しさん
2010/10/23(土) 01:10:35脆弱性の一つに、フォルダを開くのに
ShellExecute(NULL,"open","c:\\windows",NULL,NULL,SW_SHOWNORMAL) ※1
とすればいいのを
ShellExecute(NULL,"open","explorer.exe","c:\\windows",NULL,SW_SHOWNORMAL) ※2
としてるせいで、"explorer.exe"というファイル名で悪意あるプログラムを配置しとくと
解凍後そいつが実行されてしまうというものらしい
ShellExecuteのヘルプ見てもフォルダ開くには※1の方法が載ってるのに
なんで態々explorer.exe経由な※2のコードを書くのか理解できない
そもそもWindowsのシェルが未来永劫explorer.exeというファイル名とは限らない訳だし
それも一つや二つのソフトだけならまだしも、「定番」と云われる有名どころがほぼ全滅ってのがw
たぶん誰かが間違ったコードを書いて、コピペされまくって広まったパターンだと思うけど、
何かこうしなければいけない理由でもあるのか教えてほしい
0115デフォルトの名無しさん
2010/10/23(土) 01:27:5815年くらい前かな
0116デフォルトの名無しさん
2010/10/23(土) 01:39:4017年前だった
0117デフォルトの名無しさん
2010/10/23(土) 01:46:180118デフォルトの名無しさん
2010/10/23(土) 01:49:06MSDN見ると、わざわざexplorer.exeを指定しなくてもエクスプローラ使える方法あるんだな
http://msdn.microsoft.com/ja-jp/library/cc422072.aspx
explore lpFile パラメータで指定したフォルダを選択して、エクスプローラを起動します。
>>114はやはりどこかのソースのコピペなのかね。
大本はMSのヘルプでした、となりそうだがw
0119デフォルトの名無しさん
2010/10/23(土) 01:52:0915年くらい前のAPIヘルプにもちゃんと書いてあるんだが
0120デフォルトの名無しさん
2010/10/23(土) 02:06:31反省してるから許して
0121デフォルトの名無しさん
2010/10/23(土) 02:09:03ShellExecute(NULL,"open","explorer.exe","c:\\windows",NULL,SW_SHOWNORMAL)
とか書いちゃう人って
ホームページ出すのに
ShellExecute(NULL,"open","iexplore.exe","http://www.2ch.net",NULL,SW_SHOWNORMAL)
とか書いちゃうの?
0122デフォルトの名無しさん
2010/10/23(土) 03:35:18判定する方法を教えてください。
今のところ GetFileInformationByHandle の返り値が 0 か否かで判断する予定ですが、それより良い方法があればお聞きしたいです
0123デフォルトの名無しさん
2010/10/23(土) 03:49:450124デフォルトの名無しさん
2010/10/23(土) 04:10:47そのときのソケットってどう作ればいいんですか?
サーバ側からクライアント側にsendするときは、acceptの戻り値のソケットに対して、
sendすればいいですが、
クライアント側からはacceptしないと思うので、どうすればいいかわかりません。
よろしくお願いします。
0125デフォルトの名無しさん
2010/10/23(土) 05:25:25connect
0126デフォルトの名無しさん
2010/10/23(土) 05:34:06socketでソケット作って、connectで接続
0127デフォルトの名無しさん
2010/10/23(土) 05:42:57返り値が 1 ならファイルへの書き込み
3 なら別のプロセスへ/からのパイプ
2 ならコンソール
0128デフォルトの名無しさん
2010/10/23(土) 05:49:32コンソールとは限らないだろ
> FILE_TYPE_CHAR 0x0002
> The specified file is a character file, typically an LPT device or a console.
0129デフォルトの名無しさん
2010/10/23(土) 07:08:22GetFileInformationByHandle は STDIN/OUT/ERR がパイプなのかコンソールなのか判定できないので
バッファリングするかしないかを切り替える時には役立たず。
128 も役立たず
0130デフォルトの名無しさん
2010/10/23(土) 08:10:08この中の "CONIN$" "CONOUT$" でチェックできないものかな?
ハンドルが上記の名前から生成されているかを知れれば良いように思えるけど
0131デフォルトの名無しさん
2010/10/23(土) 08:19:200132デフォルトの名無しさん
2010/10/23(土) 08:23:240133デフォルトの名無しさん
2010/10/23(土) 08:35:57FILE_TYPE_CHARがコンソールを指すとは限らないって言ってるのに、
> GetFileType が 2 を返す場合は GetFileInformationByHandle の返り値も 0 になるので問題なし。
って頭大丈夫?
0134デフォルトの名無しさん
2010/10/23(土) 08:48:09GetConsoleModeを試したらコンソール以外だと失敗してERROR_INVALID_HANDLEになった
コレで判定できそうか
0135デフォルトの名無しさん
2010/10/23(土) 08:51:16パイプのハンドルを指定するべきではありません。この関数は、パイプハンドルに対しては機能しません。
0136デフォルトの名無しさん
2010/10/23(土) 08:52:210137デフォルトの名無しさん
2010/10/23(土) 08:53:280138122
2010/10/23(土) 08:57:01GetFileType で絞り込んで、
GetConsoleMode の可否で最終確認かな?
単にバッファリングの必要性を判断するだけなら GetFileType で十分ということかな
GetFileInformationByHandle はこの役には立たない。ということが解っただけでもよかった。
0139デフォルトの名無しさん
2010/10/23(土) 08:58:52すなおに「わからないんです」っていえよ... かわいそうに。
0140デフォルトの名無しさん
2010/10/23(土) 09:01:24BOOL IsConsole(HANDLE handle)
{
UNREFERENCED_PARAMETER(handle);
return (MessageBox(0,"リダイレクトしてますか?","質問",MB_YESNO)==IDNO);
}
0141デフォルトの名無しさん
2010/10/23(土) 09:07:030142デフォルトの名無しさん
2010/10/23(土) 09:26:08ありがとうございます。
saddr.sin_family=AF_INET;
saddr.sin_port=htons(12345);
saddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
このsockaddr_inを使ってconnectしてサーバとは接続できます。
問題はこのクライアント側でrecvするときです。
そのときのソケットはどのソケットを使えばいいんですか?
connectの第一引数で指定したソケットはsendする時のソケットですよね?
recv用のソケットの作り方のことを言っています。
わかりにくくてすみません。
よろしくお願いします。
0143デフォルトの名無しさん
2010/10/23(土) 09:30:05>そのときのソケットはどのソケットを使えばいいんですか?
わざわざ port を変えて(=結節点を変えて) 読み込まない限り
接続したソケットでそのまんま recv
0144デフォルトの名無しさん
2010/10/23(土) 09:33:37×わざわざ port を変えて(=結節点を変えて) 読み込まない限り
0145デフォルトの名無しさん
2010/10/23(土) 09:36:050146デフォルトの名無しさん
2010/10/23(土) 09:37:340147デフォルトの名無しさん
2010/10/23(土) 09:38:41するする
0148デフォルトの名無しさん
2010/10/23(土) 10:26:42selectはちょっと調べてみます。
ところでサーバー側からクライアント側に送信する場合、
以下のようなコードで大丈夫ですか。
変数clientはサーバ側のacceptの戻り値で受け取ったSOCKET型の変数になります。
char LUCIFEL[]="そんな装備で大丈夫か?";
if(send(client,LUCIFEL,sizeof(LUCIFEL),0)==SOCKET_ERROR){
puts("データの送信処理でエラーが発生しました。");
getchar();
return -1;
}
0149デフォルトの名無しさん
2010/10/23(土) 10:41:24受け取ったデータをprintfするの忘れてました。
0150デフォルトの名無しさん
2010/10/23(土) 11:19:110151デフォルトの名無しさん
2010/10/23(土) 11:30:270152デフォルトの名無しさん
2010/10/23(土) 12:18:160153デフォルトの名無しさん
2010/10/23(土) 12:47:190154デフォルトの名無しさん
2010/10/23(土) 12:59:330155デフォルトの名無しさん
2010/10/23(土) 16:13:45相手から送られてくる文字列って何バイトか分からないと思うんです。
なので、あらかじめ文字列バッファを適当に確保しとくしかないと思うんですが、
なんとか送ってきたデータのサイズをチェックして動的確保したバッファにrecvできるような
方法ないですか?
0156デフォルトの名無しさん
2010/10/23(土) 16:17:180157デフォルトの名無しさん
2010/10/23(土) 16:18:410158デフォルトの名無しさん
2010/10/23(土) 16:20:350159デフォルトの名無しさん
2010/10/23(土) 16:21:360160デフォルトの名無しさん
2010/10/23(土) 16:21:430161デフォルトの名無しさん
2010/10/23(土) 16:25:530162デフォルトの名無しさん
2010/10/23(土) 16:26:540163デフォルトの名無しさん
2010/10/23(土) 16:52:29DirectMusicなんか最初からDirectもクソも無かったし、DirectWriteやDirectPlayなんて単なるフレームワークだろ
0164デフォルトの名無しさん
2010/10/23(土) 18:07:370165デフォルトの名無しさん
2010/10/23(土) 18:40:37あるだろ馬鹿
0166デフォルトの名無しさん
2010/10/23(土) 18:44:190167デフォルトの名無しさん
2010/10/23(土) 18:59:130168デフォルトの名無しさん
2010/10/23(土) 19:05:25msvcrt.dllにリンクできないCコンパイラなんてゴミ
0169デフォルトの名無しさん
2010/10/23(土) 19:08:320170デフォルトの名無しさん
2010/10/23(土) 19:13:130171デフォルトの名無しさん
2010/10/23(土) 19:13:55あほう
0172デフォルトの名無しさん
2010/10/23(土) 19:15:260173デフォルトの名無しさん
2010/10/23(土) 19:24:28vcなんてC99に全然対応できてない欠陥品
0174デフォルトの名無しさん
2010/10/23(土) 19:27:360175デフォルトの名無しさん
2010/10/23(土) 19:28:580176デフォルトの名無しさん
2010/10/23(土) 19:32:04気持ち悪い趣味ですね
0177デフォルトの名無しさん
2010/10/23(土) 19:36:25下記のように指定すると、全角小文字も全角大文字になってしまいます。
LCMapString( LOCALE_INVARIANT, LCMAP_UPPERCASE, str, size, str, size )
半角小文字だけを半角大文字にしたいのですが、Win32 API で良い方法はありますか?
C ランタイム関数であれば下記のような方法が見つかったのですが、_locale_t を
管理しなきゃならなくなるので、なるべく使いたくありません。
_locale_t loc = ::_create_locale( LC_ALL, "C" );
::_tcsupr_s_l( str, size, loc );
::_free_locale( loc );
0178デフォルトの名無しさん
2010/10/23(土) 19:40:230179デフォルトの名無しさん
2010/10/23(土) 19:49:120180デフォルトの名無しさん
2010/10/23(土) 19:51:00C言語の教科書レベル
0181デフォルトの名無しさん
2010/10/23(土) 19:51:40アホ
0182デフォルトの名無しさん
2010/10/23(土) 19:55:34お前がな
0183デフォルトの名無しさん
2010/10/23(土) 19:56:420184デフォルトの名無しさん
2010/10/23(土) 19:57:220185デフォルトの名無しさん
2010/10/23(土) 19:59:360186デフォルトの名無しさん
2010/10/23(土) 20:01:060187デフォルトの名無しさん
2010/10/23(土) 20:25:040188デフォルトの名無しさん
2010/10/23(土) 20:48:530189デフォルトの名無しさん
2010/10/23(土) 21:11:20本当にCの教科書レベルのコードだと、TCHARがcharである場合は
CP932の2バイト目が半角英数に一致する文字(たとえば「など)が壊れてしまう
0190デフォルトの名無しさん
2010/10/23(土) 21:12:37CコンパイラですらないWindows(笑)
0191デフォルトの名無しさん
2010/10/23(土) 21:14:42VCに限らずC++に特化したコンパイラは最初から対応する気なんて無いでしょ
0192デフォルトの名無しさん
2010/10/23(土) 21:19:460193デフォルトの名無しさん
2010/10/23(土) 21:26:230194デフォルトの名無しさん
2010/10/23(土) 21:31:130195デフォルトの名無しさん
2010/10/23(土) 21:54:32対してメリット感じない
Win32APIは神すぎるでしょう…
0196デフォルトの名無しさん
2010/10/23(土) 21:57:09これだけはいらん
0197デフォルトの名無しさん
2010/10/23(土) 22:06:290198デフォルトの名無しさん
2010/10/23(土) 22:15:310199デフォルトの名無しさん
2010/10/24(日) 03:59:420200デフォルトの名無しさん
2010/10/24(日) 09:13:06Win32APIはデカい構造体が多いから初期化が面倒杉
まーMS様はこんな汚い関数を定義してお茶を濁してるんでVCにゃ期待薄だが
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1::PixelFormat(),
0, 0,
D2D1_RENDER_TARGET_USAGE_NONE,
D2D1_FEATURE_LEVEL_DEFAULT);
0201デフォルトの名無しさん
2010/10/24(日) 09:47:260202デフォルトの名無しさん
2010/10/24(日) 12:19:360203デフォルトの名無しさん
2010/10/24(日) 12:37:110204デフォルトの名無しさん
2010/10/24(日) 12:40:510205デフォルトの名無しさん
2010/10/24(日) 12:42:120206デフォルトの名無しさん
2010/10/24(日) 13:00:340207デフォルトの名無しさん
2010/10/24(日) 13:42:58ttp://technet.microsoft.com/ja-jp/library/cc835573.aspx
0208デフォルトの名無しさん
2010/10/24(日) 13:45:34はいはいわろす
0209デフォルトの名無しさん
2010/10/24(日) 14:31:500210デフォルトの名無しさん
2010/10/24(日) 14:49:490211デフォルトの名無しさん
2010/10/24(日) 15:23:140212デフォルトの名無しさん
2010/10/24(日) 15:29:330213デフォルトの名無しさん
2010/10/24(日) 15:39:49残ってるのもあるけども
0214デフォルトの名無しさん
2010/10/24(日) 15:56:59そういう風に、なっちゃうんでしょ!お調子者が、くっ…
0215デフォルトの名無しさん
2010/10/24(日) 17:34:530216デフォルトの名無しさん
2010/10/24(日) 17:48:230217デフォルトの名無しさん
2010/10/24(日) 18:48:00XP以降は大丈夫ってことだね。
0218デフォルトの名無しさん
2010/10/24(日) 18:52:17>■
0219デフォルトの名無しさん
2010/10/24(日) 18:59:140220デフォルトの名無しさん
2010/10/24(日) 19:02:10CopyRect
0221デフォルトの名無しさん
2010/10/24(日) 19:17:59APIヲニュウリョクシテクダサイ:
>■
0222デフォルトの名無しさん
2010/10/24(日) 19:19:03GetAnalDevCaps
0223デフォルトの名無しさん
2010/10/24(日) 19:37:00俺妹始まるまで寝るわ
0224デフォルトの名無しさん
2010/10/24(日) 19:53:460225デフォルトの名無しさん
2010/10/24(日) 20:12:530226デフォルトの名無しさん
2010/10/24(日) 20:22:440227デフォルトの名無しさん
2010/10/24(日) 20:45:57今構築しているシステムがカセットテープに記録するタイプなので
0228デフォルトの名無しさん
2010/10/24(日) 20:48:330229デフォルトの名無しさん
2010/10/24(日) 21:03:570230デフォルトの名無しさん
2010/10/24(日) 21:44:480231デフォルトの名無しさん
2010/10/24(日) 22:03:360232デフォルトの名無しさん
2010/10/24(日) 22:04:490233デフォルトの名無しさん
2010/10/24(日) 22:11:050234デフォルトの名無しさん
2010/10/24(日) 22:36:49DestroyChinese
DestroyKorean
0235デフォルトの名無しさん
2010/10/25(月) 00:13:100236デフォルトの名無しさん
2010/10/25(月) 01:03:47ttp://msdn.microsoft.com/ja-jp/library/cc429131.aspx
これかな?
0237デフォルトの名無しさん
2010/10/25(月) 07:36:41ありがとうございました!
0238デフォルトの名無しさん
2010/10/25(月) 07:56:040239デフォルトの名無しさん
2010/10/25(月) 08:46:330240デフォルトの名無しさん
2010/10/25(月) 08:57:350241デフォルトの名無しさん
2010/10/25(月) 09:07:360242デフォルトの名無しさん
2010/10/25(月) 10:57:25AfxBeginThread()で開始したスレッド作成した後にスレッドが終了したのかを判断する方法はありますか?
メインスレッド側で戻り値のCWinThread*でスレッドが終了したかを判断したいです。
CWinThread* pThr = AfxBeginThread( ThreadFunc, NULL );
0243デフォルトの名無しさん
2010/10/25(月) 11:02:300244デフォルトの名無しさん
2010/10/25(月) 11:10:56CWinThreadの使い方になってくるからMFCスレ行った方が良いかと
0245デフォルトの名無しさん
2010/10/25(月) 12:44:560246デフォルトの名無しさん
2010/10/25(月) 13:02:39って言えばどんな質問でも回答してくれるんだね、ここ
0247デフォルトの名無しさん
2010/10/25(月) 13:08:38MSDOSで動作するexeを出力するにはどうすればよいでしょう
0248デフォルトの名無しさん
2010/10/25(月) 13:33:460249デフォルトの名無しさん
2010/10/25(月) 13:46:42プロセス(PID)が生存しているか確かめる方法を教えてください
0250デフォルトの名無しさん
2010/10/25(月) 13:48:140251デフォルトの名無しさん
2010/10/25(月) 13:50:470252デフォルトの名無しさん
2010/10/25(月) 14:05:470253デフォルトの名無しさん
2010/10/25(月) 14:14:00何が有ろうとも、リリースしない。
0254デフォルトの名無しさん
2010/10/25(月) 14:39:40そもそも、作らなければいい
>>253
PCをハクられたらアウトでしょ
0255デフォルトの名無しさん
2010/10/25(月) 14:46:46VirtualLockした領域に自分でヒープを作れ
0256デフォルトの名無しさん
2010/10/25(月) 14:51:38絶対破られない自作OSなので大丈夫。
0257デフォルトの名無しさん
2010/10/25(月) 14:55:48破れるものに書かない。
0258デフォルトの名無しさん
2010/10/25(月) 15:01:30君のヘボプログラムなんて誰も破ろうとしないから余計な心配しなくてよろしい
0259デフォルトの名無しさん
2010/10/25(月) 16:00:00紙じゃあるまいし
0260デフォルトの名無しさん
2010/10/25(月) 16:40:300261デフォルトの名無しさん
2010/10/25(月) 16:59:550262デフォルトの名無しさん
2010/10/25(月) 17:14:110263デフォルトの名無しさん
2010/10/25(月) 17:14:580264デフォルトの名無しさん
2010/10/25(月) 17:43:230265デフォルトの名無しさん
2010/10/25(月) 17:45:510266デフォルトの名無しさん
2010/10/25(月) 18:04:430267デフォルトの名無しさん
2010/10/25(月) 18:07:220268デフォルトの名無しさん
2010/10/25(月) 18:25:140269デフォルトの名無しさん
2010/10/25(月) 18:28:000270デフォルトの名無しさん
2010/10/25(月) 18:29:320271デフォルトの名無しさん
2010/10/25(月) 18:35:550272デフォルトの名無しさん
2010/10/25(月) 18:57:21LoadLibrary()でDLLがロードできるが、LoadLibrary()を使うためにはkernel32.dllをロードしておく必要がある。
WinMainCRTStartupがエントリで、DLLを全く静的リンクしないプログラムからLoadLibrary()を使えるようにするには
どういうコードを書けばいいか。
0273デフォルトの名無しさん
2010/10/25(月) 18:59:280274デフォルトの名無しさん
2010/10/25(月) 20:06:030275デフォルトの名無しさん
2010/10/25(月) 20:36:170276デフォルトの名無しさん
2010/10/25(月) 20:41:02はぁ?
0277デフォルトの名無しさん
2010/10/25(月) 21:56:22そんなもんがこの先まともに動作する保証は無いしWinMainCRTStartupなんてVC++が勝手に付けたシンボルだろ
レヴェルの低い問題だな
0278デフォルトの名無しさん
2010/10/25(月) 21:59:550279デフォルトの名無しさん
2010/10/25(月) 22:11:290280デフォルトの名無しさん
2010/10/25(月) 22:12:16DLL=Dynamic Link Libraryの略でしょうが
アホですか?
0281デフォルトの名無しさん
2010/10/25(月) 22:18:45明示的に LoadLibrary() を読んで DLL を取りこむ=DLLの動的リンク
では エントリポントで kernel32 が居ない状況下
DLLを取り込む(=LoadLibrary() を呼ぶ)にはどうするのか? というのが >>272
0282デフォルトの名無しさん
2010/10/25(月) 22:22:160283デフォルトの名無しさん
2010/10/25(月) 22:23:320284デフォルトの名無しさん
2010/10/25(月) 22:27:070285デフォルトの名無しさん
2010/10/25(月) 22:29:37MS社に忍び込んで kernel32_static.lib 的なものを盗み出してくるとか?
0286デフォルトの名無しさん
2010/10/25(月) 22:33:45静的リンクと騒いでるの周回遅れのお前だけだよ。w
0287デフォルトの名無しさん
2010/10/25(月) 22:35:060288デフォルトの名無しさん
2010/10/25(月) 22:39:38これはひどい
0289デフォルトの名無しさん
2010/10/25(月) 22:40:19かもしれないと考えるバカよりはましだと思うぞ。w
0290デフォルトの名無しさん
2010/10/25(月) 22:42:45どうせほとんどが ntdll.dll のラッパーだから大して意味無いけどね
0291デフォルトの名無しさん
2010/10/25(月) 22:43:260292デフォルトの名無しさん
2010/10/25(月) 22:45:10>なお、プログラムを実行する時に初めて共有ライブラリあるいは
>ダイナミックリンクライブラリ(DLL)と結合される方式を動的リンクと呼ぶ。
0293デフォルトの名無しさん
2010/10/25(月) 22:50:540294デフォルトの名無しさん
2010/10/25(月) 22:54:440295デフォルトの名無しさん
2010/10/25(月) 22:57:560296デフォルトの名無しさん
2010/10/25(月) 23:00:41奴はいないと言う事実。w
0297デフォルトの名無しさん
2010/10/25(月) 23:01:110298デフォルトの名無しさん
2010/10/25(月) 23:01:41見つかったって言うか自爆だけど
0299デフォルトの名無しさん
2010/10/25(月) 23:02:12ttp://msdn.microsoft.com/en-us/library/ms681914(VS.85).aspx
0300デフォルトの名無しさん
2010/10/25(月) 23:08:540301デフォルトの名無しさん
2010/10/25(月) 23:09:37http://msdn.microsoft.com/en-us/library/9yd93633(VS.90).aspx
Implicit linking is sometimes referred to as static load or load-time dynamic linking.
Explicit linking is sometimes referred to as dynamic load or run-time dynamic linking.
0302デフォルトの名無しさん
2010/10/25(月) 23:11:200303デフォルトの名無しさん
2010/10/25(月) 23:11:43そうだね、で?
0304デフォルトの名無しさん
2010/10/25(月) 23:13:01staticの意味も知らないようだから後者か。
0305デフォルトの名無しさん
2010/10/25(月) 23:19:540306デフォルトの名無しさん
2010/10/25(月) 23:28:26まぁ探せば一つや二つはあるだろう。
0307デフォルトの名無しさん
2010/10/25(月) 23:39:55LoadLibrary()でDLLがロードできるが、LoadLibrary()を使うためにはkernel32.dllをロードしておく必要がある。
WinMainCRTStartupがエントリで、DLLを全く静的ロードしないプログラムからLoadLibrary()を使えるようにするには
どういうコードを書けばいいか。
0308デフォルトの名無しさん
2010/10/25(月) 23:41:23動的リンクのロードが静的か動的かは、ロード時リンクか実行時リンクか
……でOK?
0309デフォルトの名無しさん
2010/10/25(月) 23:41:590310デフォルトの名無しさん
2010/10/25(月) 23:43:320311デフォルトの名無しさん
2010/10/25(月) 23:43:330312デフォルトの名無しさん
2010/10/25(月) 23:45:340313デフォルトの名無しさん
2010/10/25(月) 23:45:410314デフォルトの名無しさん
2010/10/25(月) 23:52:39プゲラ
0315デフォルトの名無しさん
2010/10/25(月) 23:53:09得る方法を考えてくれよ。
とりえあず今までに俺が考えた方法。
�@関数のアドレスを得るためだけの32bit EXEを別途用意しておいて実行する。
�A実行中の適当な32bitプロセスがロードしているKernel32.dllのアドレスを
CreateToolhelp32Snapshot等で取得し、ReadProcessMemoryでイメージを読み取って、
IATを自力で解析する。
他に何かあるだろうか。
0316デフォルトの名無しさん
2010/10/25(月) 23:56:39ttp://ruffnex.oc.to/kenji/text/load_dll/
0317デフォルトの名無しさん
2010/10/25(月) 23:58:29アホだろ
0318デフォルトの名無しさん
2010/10/25(月) 23:59:440319デフォルトの名無しさん
2010/10/26(火) 00:02:490320デフォルトの名無しさん
2010/10/26(火) 00:06:20成功する。関数を書き込んでCreateRemoteThreadで実行させることもできる。
でもLoadLibraryすら実行できないから何の役にも立たないという。
0321デフォルトの名無しさん
2010/10/26(火) 00:09:51こんなウィルス御用達のAPIはいずれ廃止されると思ってたのにCreateRemoteThreadExなんて出来ちゃったし
0322デフォルトの名無しさん
2010/10/26(火) 00:14:4432bitプロセス内に64bitのスレッドが作成されるん?
0323デフォルトの名無しさん
2010/10/26(火) 00:35:45いやいや、実行されるのは32bitコードだから、ちゃんとx86の関数を作っておかないとだめ。
32bitプロセス同士みたいに、Cの関数をそのままコピーしたりはできない。
0324デフォルトの名無しさん
2010/10/26(火) 00:39:0332bitのスレッドが作成されるならLoadLibraryできるんでないの?
64bitプロセスから32bitのLoadLibraryのアドレスを手に入れるのが面倒だけど
0325デフォルトの名無しさん
2010/10/26(火) 00:40:48その方法を>>315で聞いてるわけさ。
0326デフォルトの名無しさん
2010/10/26(火) 00:42:48DllMainを呼び出さなければ何ら害は無い
0327デフォルトの名無しさん
2010/10/26(火) 00:43:000328デフォルトの名無しさん
2010/10/26(火) 00:47:340329デフォルトの名無しさん
2010/10/26(火) 00:47:590330デフォルトの名無しさん
2010/10/26(火) 00:52:05ImageBase==ベースアドレスはASLR下で成り立たない
0331デフォルトの名無しさん
2010/10/26(火) 00:58:060332デフォルトの名無しさん
2010/10/26(火) 00:59:36kernel32とかの一部限定だけど
0333デフォルトの名無しさん
2010/10/26(火) 01:01:040334デフォルトの名無しさん
2010/10/26(火) 01:04:140335デフォルトの名無しさん
2010/10/26(火) 01:08:22だからといって将来に渡って保障されてるわけでもないからな
0336デフォルトの名無しさん
2010/10/26(火) 01:10:56定番の技がある以上、変更されることはまずないだろうな
0337デフォルトの名無しさん
2010/10/26(火) 01:16:11近い将来PCの性能が向上してこのコストが無視できるレベルになったら
ExplorerなどのOSコンポーネントだけアドレスが違うなんて事になる可能性は十分にあるよ。
0338デフォルトの名無しさん
2010/10/26(火) 01:37:25まあ、今度は関数のアドレスがプロセスごとにバラバラなんてことにもなりかねないけど。
0339デフォルトの名無しさん
2010/10/26(火) 01:38:560340デフォルトの名無しさん
2010/10/26(火) 05:34:42・指定した DLL の API 全てが対象になってしまう
・スタブが割と大きい
と欠点だらけなので、予め関数定義しておけば delayload::PowerSetRequest(hPower, ...) と書ける
自作ライブラリを作ってから全然使ってない
0341デフォルトの名無しさん
2010/10/26(火) 09:22:350342デフォルトの名無しさん
2010/10/26(火) 09:25:220343デフォルトの名無しさん
2010/10/26(火) 09:48:130344デフォルトの名無しさん
2010/10/26(火) 09:52:110345デフォルトの名無しさん
2010/10/26(火) 10:10:570346デフォルトの名無しさん
2010/10/26(火) 10:20:400347デフォルトの名無しさん
2010/10/26(火) 10:32:010348デフォルトの名無しさん
2010/10/26(火) 10:33:080349デフォルトの名無しさん
2010/10/26(火) 10:37:160350デフォルトの名無しさん
2010/10/26(火) 10:39:240351デフォルトの名無しさん
2010/10/26(火) 10:46:06kwsk
0352デフォルトの名無しさん
2010/10/26(火) 10:48:08自己レス乙
0353デフォルトの名無しさん
2010/10/26(火) 10:49:580354デフォルトの名無しさん
2010/10/26(火) 12:26:11>>352はただの馬鹿だろ
0355デフォルトの名無しさん
2010/10/26(火) 12:27:180356デフォルトの名無しさん
2010/10/26(火) 12:44:19>>313
どうやってOSの差異を調べるの、っと。
http://www.metasploit.com/users/opcode/syscalls.html
0358デフォルトの名無しさん
2010/10/26(火) 12:59:370360デフォルトの名無しさん
2010/10/26(火) 13:21:53つ .NET
0361デフォルトの名無しさん
2010/10/26(火) 13:22:520362デフォルトの名無しさん
2010/10/26(火) 13:27:420363デフォルトの名無しさん
2010/10/26(火) 13:53:350364デフォルトの名無しさん
2010/10/26(火) 14:44:00ギャハハw
0365デフォルトの名無しさん
2010/10/26(火) 14:48:250366デフォルトの名無しさん
2010/10/26(火) 15:41:070367デフォルトの名無しさん
2010/10/26(火) 16:05:430368デフォルトの名無しさん
2010/10/26(火) 16:51:030369デフォルトの名無しさん
2010/10/26(火) 17:30:080370デフォルトの名無しさん
2010/10/26(火) 17:34:56馬鹿
0371デフォルトの名無しさん
2010/10/26(火) 17:39:13_splitpath
0372デフォルトの名無しさん
2010/10/26(火) 17:51:59PathStripPath()
0374デフォルトの名無しさん
2010/10/26(火) 17:58:390375デフォルトの名無しさん
2010/10/26(火) 18:06:200376デフォルトの名無しさん
2010/10/26(火) 18:19:01お前馬鹿だな
0377デフォルトの名無しさん
2010/10/26(火) 18:19:330378デフォルトの名無しさん
2010/10/26(火) 18:21:00QISearch/IUnknown_Set/IUnknown_AtomicReleaseがあるのにATL勧める人はダメってことですか!?わかりません><
0379デフォルトの名無しさん
2010/10/26(火) 18:25:49無知が露呈したな。w
0380デフォルトの名無しさん
2010/10/26(火) 18:36:030381デフォルトの名無しさん
2010/10/26(火) 18:38:130382デフォルトの名無しさん
2010/10/26(火) 18:39:150383デフォルトの名無しさん
2010/10/26(火) 18:39:47追い詰められるとすぐ自演判定しちゃうその気持ち分かるよ
0384デフォルトの名無しさん
2010/10/26(火) 18:40:190385デフォルトの名無しさん
2010/10/26(火) 18:41:180386デフォルトの名無しさん
2010/10/26(火) 18:41:310387デフォルトの名無しさん
2010/10/26(火) 18:43:390388デフォルトの名無しさん
2010/10/26(火) 18:44:120389デフォルトの名無しさん
2010/10/26(火) 18:45:270390デフォルトの名無しさん
2010/10/26(火) 18:45:420391デフォルトの名無しさん
2010/10/26(火) 18:47:560392デフォルトの名無しさん
2010/10/26(火) 18:48:40独り言は糞にでも書いてろよ。w
0393デフォルトの名無しさん
2010/10/26(火) 18:50:130394デフォルトの名無しさん
2010/10/26(火) 18:53:29p=_tcschr(path,'\\');
return(p?(p+1):path);
0395デフォルトの名無しさん
2010/10/26(火) 18:53:410396デフォルトの名無しさん
2010/10/26(火) 18:56:020397デフォルトの名無しさん
2010/10/26(火) 19:14:060398デフォルトの名無しさん
2010/10/26(火) 19:19:230399デフォルトの名無しさん
2010/10/26(火) 19:26:58なぜバッファ長を引数に取らないんだか。
0400デフォルトの名無しさん
2010/10/26(火) 19:28:05よっぽど参加できなかったのが悔しかったんだな。周回遅れ。w
0401デフォルトの名無しさん
2010/10/26(火) 19:32:54GetFullPathNameの最後の引数でファイル名(拡張子を含む)を抜き出せるんだが
0402デフォルトの名無しさん
2010/10/26(火) 19:42:56特に何もおかしくないよな
なにが気に入らなかったんだろう
0403デフォルトの名無しさん
2010/10/26(火) 19:45:450404デフォルトの名無しさん
2010/10/26(火) 19:51:550405デフォルトの名無しさん
2010/10/26(火) 20:03:33> 指定されたファイル名に結合し、指定されたファイルのフルパスとファイル名を判断します。
今時カレントディレクトリなんて脆弱性以外の何物でもない
0406デフォルトの名無しさん
2010/10/26(火) 20:04:510407デフォルトの名無しさん
2010/10/26(火) 20:06:32よくねーよw
0408デフォルトの名無しさん
2010/10/26(火) 20:09:080409デフォルトの名無しさん
2010/10/26(火) 20:09:30みんなMSDN読まずにプログラミングしてるんだなー
0410デフォルトの名無しさん
2010/10/26(火) 20:14:590411デフォルトの名無しさん
2010/10/26(火) 20:16:41http://studiokingyo.fc2web.com/
0412デフォルトの名無しさん
2010/10/26(火) 20:19:31ここ見れば大抵のAPIはマスターになるのにな
0413デフォルトの名無しさん
2010/10/26(火) 20:20:05今度は日本語不自由なチョンかよ!?
0414デフォルトの名無しさん
2010/10/26(火) 20:22:16ここCの勉強ができるだけではなく優秀なスタティックリンクライブラリアンは利用可能ってことはすごいな
プログラミング作業に価値はないちなみにスタティックリンクライブラリアンとは静的結合ライブラリアンのこと
0415デフォルトの名無しさん
2010/10/26(火) 20:23:230416デフォルトの名無しさん
2010/10/26(火) 20:24:04まずお前の日本語直せよ。w
0417デフォルトの名無しさん
2010/10/26(火) 20:26:110418デフォルトの名無しさん
2010/10/26(火) 20:27:09純粋にすごいなまだ公にされていないAPIまであるぞ
0419デフォルトの名無しさん
2010/10/26(火) 20:30:480420デフォルトの名無しさん
2010/10/26(火) 20:30:530421デフォルトの名無しさん
2010/10/26(火) 20:35:340422デフォルトの名無しさん
2010/10/26(火) 20:45:360423デフォルトの名無しさん
2010/10/26(火) 20:53:360424デフォルトの名無しさん
2010/10/26(火) 21:47:57ポップアップウィンドウとかを自前で作って表示させるのが一般的なんですか?
0425デフォルトの名無しさん
2010/10/26(火) 21:53:040426デフォルトの名無しさん
2010/10/27(水) 04:15:130427デフォルトの名無しさん
2010/10/27(水) 06:05:060428デフォルトの名無しさん
2010/10/27(水) 06:46:23設定ファイルに使いたいんだが
0429デフォルトの名無しさん
2010/10/27(水) 09:09:060430デフォルトの名無しさん
2010/10/27(水) 09:19:230431デフォルトの名無しさん
2010/10/27(水) 09:23:19中身を実際に書かなきゃ学べないんだよ
0432デフォルトの名無しさん
2010/10/27(水) 09:27:230433デフォルトの名無しさん
2010/10/27(水) 09:29:10お前がそう思うんならそうなんだろう
0434デフォルトの名無しさん
2010/10/27(水) 09:37:48え、お前中身書かないでライブラリ作れるの?
0435デフォルトの名無しさん
2010/10/27(水) 09:44:32安易に頼ると学ぶ機会を失う
0436デフォルトの名無しさん
2010/10/27(水) 10:05:250437デフォルトの名無しさん
2010/10/27(水) 10:07:350438デフォルトの名無しさん
2010/10/27(水) 10:10:10使わなければユーザではない
使うからユーザーなのだ
0439デフォルトの名無しさん
2010/10/27(水) 10:11:010440デフォルトの名無しさん
2010/10/27(水) 10:12:510441デフォルトの名無しさん
2010/10/27(水) 10:14:010442デフォルトの名無しさん
2010/10/27(水) 10:25:240443デフォルトの名無しさん
2010/10/27(水) 11:47:03大発明なら凄いことなんじゃないか?
0444デフォルトの名無しさん
2010/10/27(水) 11:48:020445デフォルトの名無しさん
2010/10/27(水) 12:40:410446デフォルトの名無しさん
2010/10/27(水) 12:44:11お前もいるじゃん、間抜け
0447デフォルトの名無しさん
2010/10/27(水) 12:47:350448デフォルトの名無しさん
2010/10/27(水) 13:01:34大文字・小文字を区別してしまうのですが区別しないようにする
ことはできないでしょうか?
FTPサーバーはWindowsです。
よろしくお願いいたします。
0449デフォルトの名無しさん
2010/10/27(水) 13:10:230450デフォルトの名無しさん
2010/10/27(水) 13:24:15ただファイルが多いので厳しいところではあります。
0451デフォルトの名無しさん
2010/10/27(水) 13:51:530452デフォルトの名無しさん
2010/10/27(水) 14:52:040453デフォルトの名無しさん
2010/10/27(水) 15:11:36前にやる方法 大文字と小文字の両方のパターンを生成して複数回検索
後でやる方法 ワイルドカードで一気に取得してローカルでマッチング
どっちか選べ
0454デフォルトの名無しさん
2010/10/27(水) 15:13:220455デフォルトの名無しさん
2010/10/27(水) 15:15:35Windows鯖なら1フォルダにファイル数百万みたいな使い方はしないだろうから一気に取得して
ローカルで振り分けた方がパフォーマンスいいんじゃないかなあ
リアルタイムで更新されててある特定の瞬間の状態が欲しいような場合、分割クエリはトラブルの元だし
0456デフォルトの名無しさん
2010/10/27(水) 15:31:340457デフォルトの名無しさん
2010/10/27(水) 16:15:030458デフォルトの名無しさん
2010/10/27(水) 16:36:000459デフォルトの名無しさん
2010/10/27(水) 16:55:200460デフォルトの名無しさん
2010/10/27(水) 17:55:170461デフォルトの名無しさん
2010/10/27(水) 17:56:350462デフォルトの名無しさん
2010/10/27(水) 17:59:520463デフォルトの名無しさん
2010/10/27(水) 18:04:060464デフォルトの名無しさん
2010/10/27(水) 18:13:440465デフォルトの名無しさん
2010/10/27(水) 18:14:220466デフォルトの名無しさん
2010/10/27(水) 18:20:280467デフォルトの名無しさん
2010/10/27(水) 18:50:180468デフォルトの名無しさん
2010/10/27(水) 18:51:080469デフォルトの名無しさん
2010/10/27(水) 18:52:13それ自分のことだよね。w
0470デフォルトの名無しさん
2010/10/27(水) 18:56:400471デフォルトの名無しさん
2010/10/27(水) 19:39:35キミの事だよ。周回遅れの知恵遅れクン。w
0472デフォルトの名無しさん
2010/10/27(水) 19:41:32残念だけどキミだよ。周回遅れの知恵遅れクン。w
0473デフォルトの名無しさん
2010/10/27(水) 19:49:40気にいってくれたようで嬉しいよ。周回遅れの知恵遅れクン。w
0474デフォルトの名無しさん
2010/10/27(水) 21:09:200475デフォルトの名無しさん
2010/10/27(水) 21:21:290476デフォルトの名無しさん
2010/10/27(水) 21:24:070477デフォルトの名無しさん
2010/10/27(水) 21:26:070478デフォルトの名無しさん
2010/10/27(水) 21:28:590479デフォルトの名無しさん
2010/10/27(水) 21:32:430480デフォルトの名無しさん
2010/10/27(水) 21:34:530481デフォルトの名無しさん
2010/10/27(水) 21:38:080482デフォルトの名無しさん
2010/10/27(水) 21:44:280483デフォルトの名無しさん
2010/10/27(水) 21:48:080484デフォルトの名無しさん
2010/10/27(水) 21:48:520485デフォルトの名無しさん
2010/10/27(水) 21:54:510486デフォルトの名無しさん
2010/10/27(水) 22:09:400487デフォルトの名無しさん
2010/10/27(水) 22:13:510488デフォルトの名無しさん
2010/10/27(水) 22:14:550489デフォルトの名無しさん
2010/10/27(水) 22:28:110490デフォルトの名無しさん
2010/10/27(水) 22:44:470491デフォルトの名無しさん
2010/10/27(水) 22:53:32埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
0492デフォルトの名無しさん
2010/10/27(水) 22:57:40ユーザにあいつウイルスばらまいてるって中傷受ける羽目になるからやめといたほうがいいぞ
0493デフォルトの名無しさん
2010/10/27(水) 23:12:16埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
0494デフォルトの名無しさん
2010/10/27(水) 23:48:430495デフォルトの名無しさん
2010/10/28(木) 00:12:19埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
0496デフォルトの名無しさん
2010/10/28(木) 00:33:580497デフォルトの名無しさん
2010/10/28(木) 01:36:250498デフォルトの名無しさん
2010/10/28(木) 01:55:220499デフォルトの名無しさん
2010/10/28(木) 09:27:380500デフォルトの名無しさん
2010/10/28(木) 09:50:060501デフォルトの名無しさん
2010/10/28(木) 10:36:100502デフォルトの名無しさん
2010/10/28(木) 12:47:130503デフォルトの名無しさん
2010/10/28(木) 13:31:450504デフォルトの名無しさん
2010/10/28(木) 16:02:320505デフォルトの名無しさん
2010/10/28(木) 19:35:300506デフォルトの名無しさん
2010/10/28(木) 21:49:150507デフォルトの名無しさん
2010/10/28(木) 21:49:540508デフォルトの名無しさん
2010/10/28(木) 21:58:35埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め埋め
0509デフォルトの名無しさん
2010/10/28(木) 22:00:520510デフォルトの名無しさん
2010/10/28(木) 22:02:530511デフォルトの名無しさん
2010/10/28(木) 22:04:130512デフォルトの名無しさん
2010/10/28(木) 22:06:000513デフォルトの名無しさん
2010/10/28(木) 22:10:570514デフォルトの名無しさん
2010/10/28(木) 22:16:30初心者ならここを参照にしえ勉強するとよい、
http://studiokingyo.fc2web.com/
0515デフォルトの名無しさん
2010/10/28(木) 22:20:11thx
0516デフォルトの名無しさん
2010/10/28(木) 22:25:290517デフォルトの名無しさん
2010/10/28(木) 22:29:500518デフォルトの名無しさん
2010/10/28(木) 23:26:33System.Windows.Forms.Sendkeysのsendwaitメソッドを使って
"[Ctrl]+[Alt]+C"のキー入力を行いたいのですが可能でしょうか?
もしできるようであれば正しい書式が知りたいです
0519デフォルトの名無しさん
2010/10/29(金) 07:29:480520デフォルトの名無しさん
2010/10/29(金) 07:56:070521デフォルトの名無しさん
2010/10/29(金) 09:12:520522デフォルトの名無しさん
2010/10/29(金) 10:58:280523デフォルトの名無しさん
2010/10/29(金) 11:27:380524デフォルトの名無しさん
2010/10/29(金) 11:48:530525デフォルトの名無しさん
2010/10/29(金) 11:53:510526デフォルトの名無しさん
2010/10/29(金) 12:00:510527デフォルトの名無しさん
2010/10/29(金) 13:42:510528デフォルトの名無しさん
2010/10/29(金) 14:20:520529デフォルトの名無しさん
2010/10/29(金) 14:27:15ネットワークエントリーの情報を取得したり、
そこから自動でVPNやダイアルアップ接続できる
「RASAPI32.DLL」を使用したAPI(VBRAS32)なんだけど、
WINDOWS7では動かないみたいなのですが、
なにか対処法はご存知ないでしょうか?
0530デフォルトの名無しさん
2010/10/29(金) 15:10:360531デフォルトの名無しさん
2010/10/29(金) 15:20:11分からないならレスしなくていいんですが……
0532デフォルトの名無しさん
2010/10/29(金) 16:12:050533デフォルトの名無しさん
2010/10/29(金) 16:26:440534デフォルトの名無しさん
2010/10/29(金) 17:17:15↓これがwin7では動かないという事だろ
http://www.vector.co.jp/soft/win95/prog/se084707.html
試したが、確かにエントリがリストボックスには表示されないし
デバッガで直接接続名、ユーザ/パスを指定しても接続しないな
0535デフォルトの名無しさん
2010/10/29(金) 17:48:230536デフォルトの名無しさん
2010/10/29(金) 18:02:20http://studiokingyo.fc2web.com/
0537デフォルトの名無しさん
2010/10/29(金) 18:22:36どういうプログラムを書けばいいんでしょうか。
dwm関係をいじればいいというのは調べて分かったんですが、
なかなか思うとおりに動いてくれません。
0538デフォルトの名無しさん
2010/10/29(金) 18:28:260539デフォルトの名無しさん
2010/10/29(金) 21:17:560540デフォルトの名無しさん
2010/10/29(金) 21:28:450541デフォルトの名無しさん
2010/10/29(金) 23:49:31ぶー
0542デフォルトの名無しさん
2010/10/30(土) 00:01:29WIN7でAPIを使用したネットワークの自動接続はできないのでは?
0543デフォルトの名無しさん
2010/10/30(土) 00:02:23Vista本体と同じ描画法でシステムメニューのボタンを描画したり、
それと似せた形で違うボタンを描画したりする方法とかがわからないんです。
0544デフォルトの名無しさん
2010/10/30(土) 00:13:480545デフォルトの名無しさん
2010/10/30(土) 00:33:130546デフォルトの名無しさん
2010/10/30(土) 02:01:51_wfopen_s(&fp, "newfile.txt", "rw, ccs=UTF-8");
などと、UTFを指定してファイルを開いた時、
読み取れる文字数はどうやって取得するんでしょうか?
http://www.dosokai.ne.jp/tnct/indexz.php?no=80
UTFがwchar_tとかになると、結果的に全部読んだときに必要なサイズがわかりません。
seek使っても、ファイルサイズしかわからないので役に立たないです。
0547デフォルトの名無しさん
2010/10/30(土) 02:24:08つーかスレ違い
0548デフォルトの名無しさん
2010/10/30(土) 12:00:52Wineパネエっっっっっっっっっっっw自作Win32プログラムほぼ全部うごいたっっっっw
w打ちつづけると”っ”になるっっっっっっっっw
0549デフォルトの名無しさん
2010/10/30(土) 12:16:300550デフォルトの名無しさん
2010/10/30(土) 12:19:160551デフォルトの名無しさん
2010/10/30(土) 12:28:52超乙!
また何か分かったらここに書いてくれ
0552デフォルトの名無しさん
2010/10/30(土) 12:32:020553デフォルトの名無しさん
2010/10/30(土) 13:45:50http://hibari.2ch.net/test/read.cgi/tech/1187922645/
0554デフォルトの名無しさん
2010/10/30(土) 14:48:420555デフォルトの名無しさん
2010/10/30(土) 15:57:570556デフォルトの名無しさん
2010/10/30(土) 16:09:34UTF-8なら、シングルバイト、マルチバイトとも各文字の終わりのビット表現が決まっているので、
ファイル全体をバッファに読み込んで一回サーチすれば文字数はカウントできる。
自前で描いてもそれほど難しくはないけど、文字カウントするAPIは探せばあるはずだよ。
0557デフォルトの名無しさん
2010/10/30(土) 16:34:22だからこれする前に全文字数をカウントしたいんだってば
0558デフォルトの名無しさん
2010/10/30(土) 16:39:27何がそれほど難しくはない、だ
0559デフォルトの名無しさん
2010/10/30(土) 16:44:43なぜ読み込む前に文字数がわかるはずだって決めつけてるの?
0560デフォルトの名無しさん
2010/10/30(土) 16:45:260561デフォルトの名無しさん
2010/10/30(土) 17:00:41そうでもないと言っていることがわからん。
ちょっとずつバッファに入れて、ちょっとずつ数えるか、
全部バッファに入れて、全部まとめて数えるかだ。
バッファに入れて文字数をカウントするってのはそういうこと。
0562デフォルトの名無しさん
2010/10/30(土) 17:02:34ファイルの最後の1バイトは読み込まなくていい
0563デフォルトの名無しさん
2010/10/30(土) 17:04:460564デフォルトの名無しさん
2010/10/30(土) 17:06:450565デフォルトの名無しさん
2010/10/30(土) 17:08:09馬鹿発見
0566デフォルトの名無しさん
2010/10/30(土) 17:08:270567デフォルトの名無しさん
2010/10/30(土) 17:09:150568デフォルトの名無しさん
2010/10/30(土) 17:13:000569デフォルトの名無しさん
2010/10/30(土) 17:13:050570デフォルトの名無しさん
2010/10/30(土) 18:46:26ExitWindowsExはだめっぽい
0571デフォルトの名無しさん
2010/10/30(土) 19:11:57ただし16ビットコードだが。
0572デフォルトの名無しさん
2010/10/30(土) 19:26:560573デフォルトの名無しさん
2010/10/30(土) 19:48:12QT_Thunkを使えばよろし。
0574デフォルトの名無しさん
2010/10/30(土) 20:22:40ありがとうございます。それ使わせていただきました。
>>573
なにこれ便利すぎワロタ
0575デフォルトの名無しさん
2010/10/30(土) 20:36:260576デフォルトの名無しさん
2010/10/30(土) 20:39:430577デフォルトの名無しさん
2010/10/30(土) 21:03:41「拡張エラー情報を取得するには、 関数を使います。」
とかって、いつになったら直るんだろう・・・
関数名が「関数」の前に入るんだろうけど、こんなのがあちこちにある
0578デフォルトの名無しさん
2010/10/30(土) 21:06:22.NETの方は凄い勢いで拡充されてるのに
0579デフォルトの名無しさん
2010/10/30(土) 21:26:52直せって言わない限り放置みたい
0580デフォルトの名無しさん
2010/10/30(土) 23:49:16ローレベルキーボードフックとかもそうだった
0581デフォルトの名無しさん
2010/10/30(土) 23:51:300582デフォルトの名無しさん
2010/10/31(日) 00:32:540583デフォルトの名無しさん
2010/10/31(日) 03:32:190584デフォルトの名無しさん
2010/10/31(日) 07:50:51可能です。
以上。
はい、次。
0585デフォルトの名無しさん
2010/10/31(日) 10:55:49?
0586デフォルトの名無しさん
2010/10/31(日) 11:31:23>>579
0587デフォルトの名無しさん
2010/10/31(日) 11:41:52>>585
0588デフォルトの名無しさん
2010/10/31(日) 11:42:21符号付整数値 窓之主過程()「
連絡箱(操作用番号、「こんにちは、世界」、空、連箱。了)。
戻値 零。
」
うぃん32なんざ日本語でおk
0589デフォルトの名無しさん
2010/10/31(日) 11:45:150590デフォルトの名無しさん
2010/10/31(日) 13:31:370591デフォルトの名無しさん
2010/10/31(日) 13:41:430592デフォルトの名無しさん
2010/10/31(日) 13:46:430593デフォルトの名無しさん
2010/10/31(日) 13:47:53s[strspn(s, " ")] == '\0'
0594デフォルトの名無しさん
2010/10/31(日) 13:49:570595デフォルトの名無しさん
2010/10/31(日) 14:03:34こうする訳は?
0596デフォルトの名無しさん
2010/10/31(日) 14:14:11これは面白い関数
どうもありがとうございます
0597デフォルトの名無しさん
2010/10/31(日) 14:29:51charを比較しているんだという強い主張の現れ
0598デフォルトの名無しさん
2010/10/31(日) 14:42:250599デフォルトの名無しさん
2010/10/31(日) 14:44:560600デフォルトの名無しさん
2010/10/31(日) 19:47:220601デフォルトの名無しさん
2010/10/31(日) 21:45:06実務では使えん。
0602デフォルトの名無しさん
2010/10/31(日) 22:18:12どういうこと?
0603デフォルトの名無しさん
2010/10/31(日) 22:39:500604デフォルトの名無しさん
2010/10/31(日) 22:42:21いつまで周回遅れのネタを引きずってるのやら。
知恵がないから新しいネタを考えられないんだろうな。
0605デフォルトの名無しさん
2010/10/31(日) 23:05:15'\0'はintだよ。
0606デフォルトの名無しさん
2010/10/31(日) 23:19:510607デフォルトの名無しさん
2010/10/31(日) 23:26:59ポインタであることを表したいときはNULLと書き、文字であることを表したいときは'\0'と書き、
数値であることを表したいときは0と書き分けたっていいじゃないか
そんなこと無駄だと思う人もいるかもしれないが (そういう人はNULLも'\0'も全部0で書き表すんだろうな)、
俺はそういう主義じゃないってだけだ
0608デフォルトの名無しさん
2010/10/31(日) 23:28:44C言語は大変だな
0609デフォルトの名無しさん
2010/10/31(日) 23:28:450610デフォルトの名無しさん
2010/10/31(日) 23:31:340611デフォルトの名無しさん
2010/10/31(日) 23:51:500612546
2010/11/01(月) 00:26:36文字数数えたいって言い方がかなりマズかった(って過誤りだった)ですね。
freadで読み込んだ後のサイズが知りたかったと言うのが正しいです。
バッファサイズ用意するのに必要だったので…
VC拡張のfopen使うと、UTF-8とかUTF-16とか関係なく読んでくれるので、
便利だと思ったのですが、ファイルの終端来るまでぐるぐる回しながら読むぐらいなら、
素直にビットで読み込んで条件分けしてMultiByteToWideChar使います…
0613デフォルトの名無しさん
2010/11/01(月) 04:05:25残念ながら、
>charを比較しているんだという強い主張の現れ
これと
>ポインタであることを表したいときはNULLと書き、文字であることを表したいときは'\0'と書き、
これはまったく別
まぁ、うっかりcharとか適当なこと書いちゃったんだろうが
0614デフォルトの名無しさん
2010/11/01(月) 04:12:200615デフォルトの名無しさん
2010/11/01(月) 05:05:190616デフォルトの名無しさん
2010/11/01(月) 05:23:150617デフォルトの名無しさん
2010/11/01(月) 07:33:570618デフォルトの名無しさん
2010/11/01(月) 10:19:11\0かNULLかどころか、0か!0かの違いでしかない事実
セキュリティには突っ込まないでおく
0619デフォルトの名無しさん
2010/11/01(月) 10:42:58あらゆる突っ込みを事前に想定しながら完璧な回答を慎重に書くとか正直面倒臭い
ある程度の適当さは許してくれないか
0620デフォルトの名無しさん
2010/11/01(月) 11:11:16そりゃあ、C/C++における文字列の定義というのが
終端に'\0'を含む非ゼロで構成されたバイト列なんだからそういう実装になるだろ。
いずれにせよ、Win32APIがC言語準拠になっているという点以外は関係ない話だな。
0621デフォルトの名無しさん
2010/11/01(月) 13:00:11UNICODEで通用するには?
0622デフォルトの名無しさん
2010/11/01(月) 13:08:210623デフォルトの名無しさん
2010/11/01(月) 14:34:480624デフォルトの名無しさん
2010/11/01(月) 14:47:160625デフォルトの名無しさん
2010/11/01(月) 17:28:340626デフォルトの名無しさん
2010/11/01(月) 17:35:540627デフォルトの名無しさん
2010/11/01(月) 17:52:030628デフォルトの名無しさん
2010/11/01(月) 17:53:010629デフォルトの名無しさん
2010/11/01(月) 18:23:050630デフォルトの名無しさん
2010/11/01(月) 20:16:48void ReadAir()throw(char*){throw "unko,nagerunayo"};
unexpected();
0631デフォルトの名無しさん
2010/11/01(月) 22:19:18もうちょっと勉強しましょう
0632質問です
2010/11/02(火) 01:51:06MSG msg;
while(::GetMessage (&msg,NULL,0,0)) {
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
return msg.wParam;
戻り値に msg.wParam を指定しているのは何故でしょうか?
0633デフォルトの名無しさん
2010/11/02(火) 02:03:520635デフォルトの名無しさん
2010/11/02(火) 14:03:420636デフォルトの名無しさん
2010/11/02(火) 18:24:300637デフォルトの名無しさん
2010/11/02(火) 18:26:380638デフォルトの名無しさん
2010/11/02(火) 18:26:590639デフォルトの名無しさん
2010/11/02(火) 19:26:560640デフォルトの名無しさん
2010/11/02(火) 20:14:50>>637
0641デフォルトの名無しさん
2010/11/02(火) 23:47:130642デフォルトの名無しさん
2010/11/02(火) 23:51:300643デフォルトの名無しさん
2010/11/03(水) 14:03:220644デフォルトの名無しさん
2010/11/03(水) 19:20:590645デフォルトの名無しさん
2010/11/03(水) 19:22:570646デフォルトの名無しさん
2010/11/03(水) 19:55:560647デフォルトの名無しさん
2010/11/03(水) 20:02:590648デフォルトの名無しさん
2010/11/03(水) 20:03:280649デフォルトの名無しさん
2010/11/03(水) 20:08:480650デフォルトの名無しさん
2010/11/03(水) 20:20:41ATLの作者はいませんか?ってことか。
0651デフォルトの名無しさん
2010/11/03(水) 20:22:07>class HelloWindow : public ATL::CWindowImpl<HelloWindow>
申し訳ない、このひどい継承再帰で心が折れた・・・
0652デフォルトの名無しさん
2010/11/03(水) 20:39:37仮想関数使わずに同じような事をするっていうテクニックだよねこれ。
0653デフォルトの名無しさん
2010/11/03(水) 20:51:19今、おれの目の前に立ちはだかる
こわい
0654デフォルトの名無しさん
2010/11/03(水) 20:57:350655デフォルトの名無しさん
2010/11/03(水) 21:01:28お前は駄目な奴だな
0656デフォルトの名無しさん
2010/11/03(水) 21:02:38親クラスに子クラスの型を教えてるだけで、継承が再帰なんてしてないから
何も難しく考えること無いのに。
0657デフォルトの名無しさん
2010/11/03(水) 21:04:090658デフォルトの名無しさん
2010/11/03(水) 21:11:150659デフォルトの名無しさん
2010/11/03(水) 21:19:070660デフォルトの名無しさん
2010/11/03(水) 21:24:570661デフォルトの名無しさん
2010/11/03(水) 21:34:23struct node {
int value;
struct node *next;
};
だって再帰的定義だろう
nextがポインタでなければ、勿論コンパイルはできない
同じように、↓はコンパイルできないよ
template <typename T> class Base {
T value;
};
class Derived: public Base<Derived> {
};
0662デフォルトの名無しさん
2010/11/03(水) 21:40:18クラス定義自体が前方宣言の代わりになるから前方宣言を省略できるってだけのこと。
0663デフォルトの名無しさん
2010/11/03(水) 21:44:26どのプロセスが鳴らしているのかわからなくて困っています。
http://oshiete.goo.ne.jp/qa/4371984.html
異音がしている時にミュートにすれば音が途切れるので
スピーカーから鳴っていることは間違いないです。
解決の目途もたたないので、自分でプログラムを書いて
音を出しているプロセスを突きとめようと思ったんだけれど、
そんなことを可能にするAPIってありますか?
0664デフォルトの名無しさん
2010/11/03(水) 21:50:100665デフォルトの名無しさん
2010/11/03(水) 21:52:38つまり>>651の内部で
template <typename T> class Base {
T *value;
};
としていれば無問題ということだな。
0666デフォルトの名無しさん
2010/11/03(水) 21:53:54うん
不完全型として前方参照してるので
不完全型でできることはしてもだいじょうぶ
0667デフォルトの名無しさん
2010/11/04(木) 09:00:140668デフォルトの名無しさん
2010/11/04(木) 13:33:050669デフォルトの名無しさん
2010/11/04(木) 14:13:170670デフォルトの名無しさん
2010/11/04(木) 15:15:330671デフォルトの名無しさん
2010/11/04(木) 15:42:570672デフォルトの名無しさん
2010/11/04(木) 16:17:410673デフォルトの名無しさん
2010/11/04(木) 16:29:59なくても糞
それがunstd.hとCopyRect
0674デフォルトの名無しさん
2010/11/04(木) 16:33:000675デフォルトの名無しさん
2010/11/04(木) 17:19:05{
return (int) CopyRect((LPRECT)_Dst, (CONST RECT*)_Src);
}
0676デフォルトの名無しさん
2010/11/04(木) 17:28:00ぎゃー!プログラムが知らぬ間に毒されていく…
0677デフォルトの名無しさん
2010/11/04(木) 21:34:230678デフォルトの名無しさん
2010/11/04(木) 21:50:45オブジェクト指向というか、あれはもはやテンプレート指向だな。
あれでアプリを作ると、どんどんヘッダファイルが肥大化して、cpp側で書く事がなくなる。
それからどこまで実装されててどこから手で書くべきなのか、毎回ソースコードを調べて回るな。
0679デフォルトの名無しさん
2010/11/04(木) 21:56:10ありがとうございます。そうなんですか、、、
APIが絡むクラス設計ってなかなか難しいんですよねえ
0680デフォルトの名無しさん
2010/11/04(木) 21:58:23たとえばDLLを暗号化したバイナリファイルをメモリ上で復号し
できあがったメモリブロックをDLLのようにロードすることって出来ますか?
一回tmpなDLLファイルを出力してAPIでロードしなおさないと無理でしょうか
0681デフォルトの名無しさん
2010/11/04(木) 22:04:14その辺は各種スクリプト言語がzipにまとめられたバイナリを仮想ファイルシステムとして
動くようにする、というテーマでよく語られる話題だよ。
とりあえずTclあたりで調べてみるといいんじゃないかな。仮コードは去年見たときあったんで。
0682デフォルトの名無しさん
2010/11/04(木) 22:05:50君が出来るかどうかは知らないけど...
0683デフォルトの名無しさん
2010/11/04(木) 23:00:150684デフォルトの名無しさん
2010/11/04(木) 23:17:010685デフォルトの名無しさん
2010/11/04(木) 23:28:360686デフォルトの名無しさん
2010/11/04(木) 23:41:180687デフォルトの名無しさん
2010/11/04(木) 23:42:010688デフォルトの名無しさん
2010/11/04(木) 23:46:110689デフォルトの名無しさん
2010/11/05(金) 00:15:050690デフォルトの名無しさん
2010/11/05(金) 00:16:180691デフォルトの名無しさん
2010/11/05(金) 00:25:040692デフォルトの名無しさん
2010/11/05(金) 00:44:55あんまり話題にならないが、あれこそpimplを使うべきケースの一つだと思う。
Implクラスの定義をcppに書けるからヘッダは肥大化しないで済む。
0693デフォルトの名無しさん
2010/11/05(金) 01:33:180694デフォルトの名無しさん
2010/11/05(金) 01:38:520695デフォルトの名無しさん
2010/11/05(金) 02:24:390696デフォルトの名無しさん
2010/11/05(金) 09:25:19テンプレートライブラリ系とオブジェクト指向は、今やほとんど正反対を向いているよ。
0697696
2010/11/05(金) 11:46:150698デフォルトの名無しさん
2010/11/05(金) 11:53:13x 今や
o 最初から
x ほとんど
o 全く
0699デフォルトの名無しさん
2010/11/05(金) 13:32:24「全く〜ない」が正式な用法
だからその置き換えは正しくない
日本語勉強してこいよ屑
0700デフォルトの名無しさん
2010/11/05(金) 13:36:38え?
0701デフォルトの名無しさん
2010/11/05(金) 13:39:49win32apiでコマンド_プロンプト画面を表示せずにコマンドプロンプトのコマンドを実行することは可能でしょうか
system関数を実行したところ、画面が表示されました。
0702デフォルトの名無しさん
2010/11/05(金) 13:43:300703デフォルトの名無しさん
2010/11/05(金) 13:43:45ShellExecuteでできなかったっけ?
ちょっと確認できないけど
0704デフォルトの名無しさん
2010/11/05(金) 13:47:530705デフォルトの名無しさん
2010/11/05(金) 14:10:470706デフォルトの名無しさん
2010/11/05(金) 14:13:040707デフォルトの名無しさん
2010/11/05(金) 17:03:55ありがとうございます。CreateProcess で実装しました。
0708デフォルトの名無しさん
2010/11/05(金) 20:58:32これ本当にスタックに置いていいんだろうか? と悩むレベルのサイズなんだよな。
scoped_ptr とか unique_ptr がない頃は迷わずスタックに配置していたのに、
ヒープに配置するのに便利な道具が出てきてかえって迷うようになった。
0709デフォルトの名無しさん
2010/11/05(金) 21:02:030710デフォルトの名無しさん
2010/11/05(金) 21:20:580711デフォルトの名無しさん
2010/11/05(金) 22:00:170712デフォルトの名無しさん
2010/11/05(金) 22:02:13そんなに取らないだろ
0713デフォルトの名無しさん
2010/11/05(金) 22:06:30文字列もヒープ使わざるを得なくなった
0714デフォルトの名無しさん
2010/11/05(金) 22:08:370715デフォルトの名無しさん
2010/11/05(金) 22:09:561MBは躊躇ってレベルじゃないな
0716デフォルトの名無しさん
2010/11/05(金) 22:10:47VC++のデフォルトのスタックサイズが1Mなのに躊躇すんのかよwww
0717デフォルトの名無しさん
2010/11/05(金) 22:11:42対応するだけ無駄骨といつか気付くよ
0718デフォルトの名無しさん
2010/11/05(金) 22:12:41C++0x では std::basic_string のバッファも連続性が保証されるようになったので
堂々と文字列バッファとして C の関数に渡せますね。
今までだって、わざわざ不連続バッファを使うような実装があったとは思えないけど……
0719デフォルトの名無しさん
2010/11/05(金) 22:15:45260 * 2 * 4 で2KBぐらいだがどんだけネストしてんの
0720デフォルトの名無しさん
2010/11/06(土) 01:35:370721デフォルトの名無しさん
2010/11/06(土) 01:37:52不連続バッファだった場合、std::string::c_str()はどうなるの?普通に使える?
0722デフォルトの名無しさん
2010/11/06(土) 02:23:37仮に不連続バッファを使う実装なら、c_str() が呼ばれたらいちいち size() + 1 のバッファを
確保して文字列をコピーしなければならない。
そんな無駄な実装をしているライブラリはないでしょうね、という話。
0723デフォルトの名無しさん
2010/11/06(土) 02:46:42なるほど
0724デフォルトの名無しさん
2010/11/06(土) 04:07:43> バッファとして C の関数に
えー、これ大丈夫?
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
string s1 = "initilal value", s2 = s1;
cout << "s1=\"" << s1 << "\", s2=\"" << s2 << "\"" << endl;
strcpy((char *)s1.c_str(), "overwrite");
cout << "s1=\"" << s1 << "\", s2=\"" << s2 << "\"" << endl;
return 0;
}
0725デフォルトの名無しさん
2010/11/06(土) 04:33:45#include <string>
#include <Windows.h>
#include <ShlObj.h>
int main()
{
std::wstring path;
path.resize(MAX_PATH);
::SHGetFolderPathW(
nullptr, CSIDL_DESKTOP, nullptr, SHGFP_TYPE_CURRENT, &path[0]);
}
0727デフォルトの名無しさん
2010/11/06(土) 04:36:230728デフォルトの名無しさん
2010/11/06(土) 09:04:57ダメPGの典型だな。
0729デフォルトの名無しさん
2010/11/06(土) 09:23:21CloseHandle((HANDLE)ThreadRoutine);
というコードがあってふいたことがある
0730デフォルトの名無しさん
2010/11/06(土) 09:49:40モテない側の人間だな
0731デフォルトの名無しさん
2010/11/06(土) 10:32:040732デフォルトの名無しさん
2010/11/06(土) 12:25:04アホな俺には冗談抜きでわからんからkwsk
キャストがダメって事?
0733デフォルトの名無しさん
2010/11/06(土) 12:26:050734デフォルトの名無しさん
2010/11/06(土) 12:27:320735デフォルトの名無しさん
2010/11/06(土) 12:33:550736デフォルトの名無しさん
2010/11/06(土) 13:22:05この類のバグってApplication Verifierで検出可能だった気がするが
0737デフォルトの名無しさん
2010/11/06(土) 14:16:15ただでさえ体に悪いデスクワークで
その中でも生活リズムがおかしくなるマやってて自主的な運動もしないなんて信じられん
0738デフォルトの名無しさん
2010/11/06(土) 14:42:23来てるな〜っと思う時なんて多々あるしw
>>729はハンドルじゃなくてスレッドで実行する関数のポインタを指定してるって話かな?
0739デフォルトの名無しさん
2010/11/06(土) 16:39:250740デフォルトの名無しさん
2010/11/06(土) 17:39:370741デフォルトの名無しさん
2010/11/06(土) 18:16:290742デフォルトの名無しさん
2010/11/06(土) 18:28:42その間何も考えられなくていらいらするw
0743デフォルトの名無しさん
2010/11/06(土) 18:33:220744デフォルトの名無しさん
2010/11/06(土) 18:38:43スポーツの何がどう非論理的なのかわからんが、おまえは清朝の役人か。
西洋人がスポーツしているのを見て、そんなことは使用人にやらせろとあざ笑ったそうな。
0745デフォルトの名無しさん
2010/11/06(土) 18:55:55自己中心的に時間を使う暇があるんなら会社に貢献する努力をしろ
0746デフォルトの名無しさん
2010/11/06(土) 18:58:25何と言う社蓄
0747デフォルトの名無しさん
2010/11/06(土) 19:30:46ときどき車にもぶつかる
0748デフォルトの名無しさん
2010/11/06(土) 19:45:01発想力も集中力も高まるんよ
もちろん体力も付くからハードワークにもへこたれずに仕事できる
企業はむしろ率先して1日30分のスポーツタイムを義務化したほうが特だよ
0749デフォルトの名無しさん
2010/11/06(土) 19:45:100750デフォルトの名無しさん
2010/11/06(土) 19:49:200751デフォルトの名無しさん
2010/11/06(土) 19:55:37オーナードローすれば問題無し。
0752デフォルトの名無しさん
2010/11/06(土) 20:05:190753デフォルトの名無しさん
2010/11/06(土) 20:42:40「バッファとして C の関数に」ってそういう事じゃないの?
0754デフォルトの名無しさん
2010/11/06(土) 21:00:50string::c_str()は内部ポインタを返してるだけなので、ここにデータを書き込んじゃいけない。
常識のレベル。
0755デフォルトの名無しさん
2010/11/06(土) 21:43:210756デフォルトの名無しさん
2010/11/06(土) 21:53:10MDIはナンセンスとかMSいってなかったっけ?
0757デフォルトの名無しさん
2010/11/06(土) 22:03:500758デフォルトの名無しさん
2010/11/06(土) 22:10:400759デフォルトの名無しさん
2010/11/06(土) 22:42:37えっ
0760デフォルトの名無しさん
2010/11/06(土) 23:22:070761デフォルトの名無しさん
2010/11/06(土) 23:28:00をあえて無視しようっていうなら止めはしない
0762デフォルトの名無しさん
2010/11/07(日) 00:33:52c_str
c_
c
0763デフォルトの名無しさん
2010/11/07(日) 00:35:530764デフォルトの名無しさん
2010/11/07(日) 03:16:080765デフォルトの名無しさん
2010/11/07(日) 03:23:07入ってきた文字列をsystem()に投げる
終了
0766デフォルトの名無しさん
2010/11/07(日) 03:39:320767デフォルトの名無しさん
2010/11/07(日) 04:19:59vectorと同じで&s1[0]とか&s1.front()を使えばいい。
>>754
話をループさせないでくれよ。>>718読め。
0768デフォルトの名無しさん
2010/11/07(日) 04:21:550769デフォルトの名無しさん
2010/11/07(日) 04:25:11取得関数はメンバーにじかに触れないようにするためのものなのだから
バッファとして使うなんてどうかしている
入力はSet系の関数を使うか、入力が必要ないように作るべき
0770デフォルトの名無しさん
2010/11/07(日) 04:35:43つう事じゃねぇの?
0771デフォルトの名無しさん
2010/11/07(日) 04:52:31> IDXGISurface::マップ
何の冗談だよ。。。
0772デフォルトの名無しさん
2010/11/07(日) 05:02:150773デフォルトの名無しさん
2010/11/07(日) 05:12:520774デフォルトの名無しさん
2010/11/07(日) 05:12:59バッファ=書き込み先という認識が先行して>>724>>754>>769みたいな話を始める奴もいる
0775デフォルトの名無しさん
2010/11/07(日) 05:16:11連続性とか何の関係があるんだろう
0776デフォルトの名無しさん
2010/11/07(日) 05:17:370777デフォルトの名無しさん
2010/11/07(日) 05:24:47そういう用途の為にずっと昔からc_strがある訳だが、一体何を言ってるんだ?
0778デフォルトの名無しさん
2010/11/07(日) 05:37:40まぁそう煽るな。誰かが「ない」なんて言ったか?
そんなこと君も僕も知ってることだろう。
俺は「なぜstrcpyの第一引数にc_str()を渡すなんて話がでてくるのか」って思っただけだ。
0779デフォルトの名無しさん
2010/11/07(日) 05:38:23C++0x でそれが堂々と出来るようになって悦んでるのか?
0780デフォルトの名無しさん
2010/11/07(日) 05:43:57後者に関しては「バッファ」を勘違いしてる一人がいるだけのようだが…
0781デフォルトの名無しさん
2010/11/07(日) 05:44:10読み専だったらずっと前からc_strで出来る
↓
718の「C++0xでは堂々とバッファとして渡せる」発言
↓
以前からできることを今更言う筈がない&内部バッファの連続・不連続に拘っている
↓
バッファ=書き込み先という認識
は自然な流れだと思うが?
0782デフォルトの名無しさん
2010/11/07(日) 05:47:13上手く説明できないからそれでいいよ。俺が間違ってた。君が正しいよ。
0783デフォルトの名無しさん
2010/11/07(日) 05:48:05に一票
0785デフォルトの名無しさん
2010/11/07(日) 05:49:570786デフォルトの名無しさん
2010/11/07(日) 05:53:28IOCCCにエントリーするようなコードでも書いてるのか?
0787デフォルトの名無しさん
2010/11/07(日) 05:59:25いつの間にか(多分キャストの流れと>>767)内部に書き込む話が出てきたけど、これはもう別の話題じゃないか
string使って構造を抽象化してるのに内部データを直接いじるとかちょっと理解できない
0788デフォルトの名無しさん
2010/11/07(日) 05:59:410789デフォルトの名無しさん
2010/11/07(日) 06:02:00連続性が保証されるだろ
0790デフォルトの名無しさん
2010/11/07(日) 06:03:42何となくBuffer overrun detectedのエラーメッセージをオーバーフローと読み違えてる気がする
0791デフォルトの名無しさん
2010/11/07(日) 06:06:590792デフォルトの名無しさん
2010/11/07(日) 06:08:500793デフォルトの名無しさん
2010/11/07(日) 06:10:06どうかなんの?
0794デフォルトの名無しさん
2010/11/07(日) 06:20:58連続性が保証されるだろ
0795デフォルトの名無しさん
2010/11/07(日) 06:25:320796デフォルトの名無しさん
2010/11/07(日) 06:27:270797デフォルトの名無しさん
2010/11/07(日) 06:29:48どうかなんの?
0798デフォルトの名無しさん
2010/11/07(日) 06:30:37こんなのどこにも無いし・・・
コピペしてないコード書き込んで「今来ました」はさすがに無いよw
0799デフォルトの名無しさん
2010/11/07(日) 06:34:15C++0xでは&s[0]=s.c_str()が保証されたのでこういうコードがおkってことか
strcpy(&s[0], s.c_str());
0800デフォルトの名無しさん
2010/11/07(日) 06:34:17連続性が保証されるだろ
0801デフォルトの名無しさん
2010/11/07(日) 06:35:26釣られてやがるwwwwwwwwww
0802デフォルトの名無しさん
2010/11/07(日) 06:37:02寂しい人だね
0803デフォルトの名無しさん
2010/11/07(日) 06:37:36↑こんないかにも低能な釣りに引っ掛かる奴が二人もいるとはな
0804デフォルトの名無しさん
2010/11/07(日) 06:38:300805デフォルトの名無しさん
2010/11/07(日) 06:38:510806デフォルトの名無しさん
2010/11/07(日) 06:39:510807デフォルトの名無しさん
2010/11/07(日) 06:42:000808デフォルトの名無しさん
2010/11/07(日) 06:42:02こういう無能はC++を使わなくていいよ。
0809デフォルトの名無しさん
2010/11/07(日) 06:43:410810デフォルトの名無しさん
2010/11/07(日) 06:44:390811デフォルトの名無しさん
2010/11/07(日) 06:46:440812デフォルトの名無しさん
2010/11/07(日) 06:46:480813デフォルトの名無しさん
2010/11/07(日) 06:48:520814デフォルトの名無しさん
2010/11/07(日) 06:52:250815デフォルトの名無しさん
2010/11/07(日) 06:52:57vista以降は標準で入ってるし
C++&Win32APIのメリットはCRTをいっさい使わない極小アプリを作れる事だけだと思ってる
0816デフォルトの名無しさん
2010/11/07(日) 06:55:540817デフォルトの名無しさん
2010/11/07(日) 06:56:430818デフォルトの名無しさん
2010/11/07(日) 06:59:24実際問題、速度が重要じゃないのに態々C++やAPIで作る理由ってあるか?
骨折り損だろ
0819デフォルトの名無しさん
2010/11/07(日) 07:00:300820デフォルトの名無しさん
2010/11/07(日) 07:01:08学生さんかな?
0821デフォルトの名無しさん
2010/11/07(日) 07:01:210822デフォルトの名無しさん
2010/11/07(日) 07:01:510823デフォルトの名無しさん
2010/11/07(日) 07:04:33クリーンインスコ直後のXPで動かないアプリは糞っていう風潮がまだまだ無くならないから。
0824デフォルトの名無しさん
2010/11/07(日) 07:04:460825デフォルトの名無しさん
2010/11/07(日) 07:05:510826デフォルトの名無しさん
2010/11/07(日) 07:06:500827デフォルトの名無しさん
2010/11/07(日) 07:08:47今は.NET信者のスレになろうとしているところです。
0828デフォルトの名無しさん
2010/11/07(日) 07:10:500829デフォルトの名無しさん
2010/11/07(日) 07:14:13黙っててもOSの移行にしたがっていくだろうし
習得して損はしないだろうけど
0830デフォルトの名無しさん
2010/11/07(日) 07:19:02WindowsPhone7みたいに
0831デフォルトの名無しさん
2010/11/07(日) 07:29:360832デフォルトの名無しさん
2010/11/07(日) 08:35:050833デフォルトの名無しさん
2010/11/07(日) 09:02:270834デフォルトの名無しさん
2010/11/07(日) 09:34:240835デフォルトの名無しさん
2010/11/07(日) 09:50:27実際にはそんな話を全然聞かないな。
なんでだろ。
0836デフォルトの名無しさん
2010/11/07(日) 09:55:08Windows2.x-3.xで使われていたlink4はMSDOS 4のために作られたリンカーだ。
他にもいろいろあったけど忘れた。
0837デフォルトの名無しさん
2010/11/07(日) 09:58:380838デフォルトの名無しさん
2010/11/07(日) 11:25:27まだCとかC++使ってる奴が居たのか
単に新しい環境買う金がねーだけだろ
ぶはは。
0839デフォルトの名無しさん
2010/11/07(日) 13:04:360840デフォルトの名無しさん
2010/11/07(日) 13:23:230841デフォルトの名無しさん
2010/11/07(日) 13:30:24ま、XPだって発売1周年の2002年頃にはWin9xのシェアが確か6〜7割ぐらいあったがw
0842デフォルトの名無しさん
2010/11/07(日) 14:00:19COM とか
OLE とか
OS/2 とか
0843デフォルトの名無しさん
2010/11/07(日) 14:44:58http://www.conceivablytech.com/3227/business/66-of-all-windows-users-still-use-windows-xp/
1ヶ月前の話でこんな感じ
0844デフォルトの名無しさん
2010/11/07(日) 15:05:16世界規模ではそうだろうが、超先進国日本ではXPのシェア50%割ったらしい
0845デフォルトの名無しさん
2010/11/07(日) 15:05:40Windows XP 59.07%
0846デフォルトの名無しさん
2010/11/07(日) 15:07:07おまいは預言者か
0847デフォルトの名無しさん
2010/11/07(日) 15:11:490848デフォルトの名無しさん
2010/11/07(日) 15:12:242014年を境にWindowsのシェアがガタ落ちする
0849デフォルトの名無しさん
2010/11/07(日) 15:24:05企業では依然としてWindowsを採用するも減少傾向
まあこんな所じゃね
7はまあまあ売れてるらしいがトータルでXPを超える売上を誇るWindowsなんて今後絶対ありえない
0850デフォルトの名無しさん
2010/11/07(日) 16:59:20CreateWindowで算出される任意座標位置(CW_USEWINDOW)を取得したいです。
現在CreateDialog()でツールを作成していますが、
起動位置がリソース設定通りなので、変更したいと思ってます。
0851デフォルトの名無しさん
2010/11/07(日) 17:01:450852850
2010/11/07(日) 17:04:57オーバーラップウィンドウだと、起動時に右下にズレますが、
あれを実現したいです。
0853デフォルトの名無しさん
2010/11/07(日) 17:11:00でおk
0854デフォルトの名無しさん
2010/11/07(日) 18:13:370855850
2010/11/07(日) 18:17:27std::basic_string<TCHAR>
0857デフォルトの名無しさん
2010/11/07(日) 18:31:570858デフォルトの名無しさん
2010/11/07(日) 18:45:34stringイラネ
0859デフォルトの名無しさん
2010/11/07(日) 19:13:160860デフォルトの名無しさん
2010/11/07(日) 19:19:48…氏にそうだorz
互換性考えたら特定のライブラリに依存できないんだよう
0861デフォルトの名無しさん
2010/11/07(日) 19:29:110862デフォルトの名無しさん
2010/11/07(日) 19:30:180863デフォルトの名無しさん
2010/11/07(日) 19:34:530864デフォルトの名無しさん
2010/11/07(日) 19:37:000865デフォルトの名無しさん
2010/11/07(日) 19:37:320866デフォルトの名無しさん
2010/11/07(日) 19:40:260867デフォルトの名無しさん
2010/11/07(日) 19:45:310868デフォルトの名無しさん
2010/11/07(日) 19:59:03やってみたことすら無いのが丸分かり
0869デフォルトの名無しさん
2010/11/07(日) 19:59:49なにをロートルなことを言ってるんだ。
0870デフォルトの名無しさん
2010/11/07(日) 20:02:170871デフォルトの名無しさん
2010/11/07(日) 20:11:34新規作成したプロジェクトをそのままビルドすると必ずリンクエラー出るけど
0872デフォルトの名無しさん
2010/11/07(日) 20:14:430873デフォルトの名無しさん
2010/11/07(日) 20:14:55何のためのC++だ雑魚
0874デフォルトの名無しさん
2010/11/07(日) 20:18:270875デフォルトの名無しさん
2010/11/07(日) 20:18:27とあるComをクラスでラップしたいんだ。
0876デフォルトの名無しさん
2010/11/07(日) 20:19:42.Netで10行ほどの処理がC++(C)で100行くらいになったが、
代わりに速さが10倍くらいになった
5秒待たされた結果がボタン押したらすぐ出るのは無視できないレベルだ
0877デフォルトの名無しさん
2010/11/07(日) 20:21:32境界チェックしないから速いだけだろ
0878デフォルトの名無しさん
2010/11/07(日) 20:26:010879デフォルトの名無しさん
2010/11/07(日) 20:28:08かなり保守的に書いて100行だ文句あっか
0880デフォルトの名無しさん
2010/11/07(日) 20:30:05CoInitialize/CoInitializeExが成功した回数とCoUninitializeを呼ぶ回数は合わせろと書いてあるぐらいだし、参照カウントで管理されてるから好きなだけ呼べ
0881デフォルトの名無しさん
2010/11/07(日) 20:30:19C++にそんな機構は無いという意味だろ馬鹿
0882デフォルトの名無しさん
2010/11/07(日) 20:33:20thx! これでできるよ。
0883デフォルトの名無しさん
2010/11/07(日) 20:34:21それは全部必要なのか
ほんとうにそう思うのか
0884デフォルトの名無しさん
2010/11/07(日) 20:35:550885デフォルトの名無しさん
2010/11/07(日) 20:36:190886デフォルトの名無しさん
2010/11/07(日) 20:37:340887デフォルトの名無しさん
2010/11/07(日) 20:40:45アホなコードを書いてしまうものよ
0888デフォルトの名無しさん
2010/11/07(日) 20:42:040889デフォルトの名無しさん
2010/11/07(日) 20:43:240890デフォルトの名無しさん
2010/11/07(日) 20:48:350891デフォルトの名無しさん
2010/11/07(日) 20:49:32普段からこういう風に書く人ってどれぐらい居るんだろ
if(width==0 || height==0 || (SIZET_MAX/sizeof(DWORD)/width) < height) {
return NULL;
}
else {
return new (std::nothrow) DWORD[width*height];
}
0892デフォルトの名無しさん
2010/11/07(日) 21:03:19return NULL;
}
else {
return new (std::nothrow) DWORD[width*height];
}
0893デフォルトの名無しさん
2010/11/07(日) 21:04:530894デフォルトの名無しさん
2010/11/07(日) 21:10:38ウィンドウハンドルからプロセスを引き当てて、
そのプロセスがd3d.dllとかをロードしてるかどうかで判断可能かもしれないけど、
使ってない可能性もあるだろうし…
具体的に何がしたいかによってはいい答え貰えるかもよ。
それからVistaからはGUIはDirect3Dで描画されてるのでどうなるのか判らんw
0895デフォルトの名無しさん
2010/11/07(日) 21:13:20ばーか
0896デフォルトの名無しさん
2010/11/07(日) 21:15:160897デフォルトの名無しさん
2010/11/07(日) 21:24:26あなたにとってDirectXはDirect3Dだけですか?
0898デフォルトの名無しさん
2010/11/07(日) 21:37:530899デフォルトの名無しさん
2010/11/07(日) 21:39:310900デフォルトの名無しさん
2010/11/07(日) 21:40:310901デフォルトの名無しさん
2010/11/07(日) 21:40:420902デフォルトの名無しさん
2010/11/07(日) 21:43:070903デフォルトの名無しさん
2010/11/07(日) 21:44:050904デフォルトの名無しさん
2010/11/07(日) 21:45:090905デフォルトの名無しさん
2010/11/07(日) 21:47:140906デフォルトの名無しさん
2010/11/07(日) 21:47:16まじれすすると、Aeroの描画を担当してるのはDesktopWindowManagerであって
ユーザーアプリが直接DirectXをたたいてるわけではない
0907デフォルトの名無しさん
2010/11/07(日) 21:51:420908デフォルトの名無しさん
2010/11/07(日) 21:52:320909デフォルトの名無しさん
2010/11/07(日) 22:07:16てことは普通に書けばどれも間接的にDirectX使ってるということか
使わないように指定する必要があるなら、使っていないものの方が探しやすいのかもしれない
0910デフォルトの名無しさん
2010/11/07(日) 22:07:550911デフォルトの名無しさん
2010/11/07(日) 22:09:13使えるけど、書く先が違う。
片やフレームバッファ。片やデバイスコンテキスト。
0912デフォルトの名無しさん
2010/11/07(日) 22:14:28レジストリでDirectXサーフェスをキャプチャできる方法もあった気がするが
0913デフォルトの名無しさん
2010/11/07(日) 22:15:46アプリが間接的にDirectX使ってるわけではない
0914デフォルトの名無しさん
2010/11/07(日) 22:18:000915デフォルトの名無しさん
2010/11/07(日) 22:20:24合成する時にDirect3Dを使用
0916デフォルトの名無しさん
2010/11/07(日) 22:23:49GDIとDirectXの両方からとってきてORで合成とかムリかな
0917デフォルトの名無しさん
2010/11/07(日) 22:30:240918デフォルトの名無しさん
2010/11/07(日) 22:30:25XPだけど
0919デフォルトの名無しさん
2010/11/07(日) 22:33:19DWMのAPIをフックすれば簡単にスクショ撮れるだろ
方法はぐぐれ
0920デフォルトの名無しさん
2010/11/07(日) 22:39:31自分でやったことがない奴の典型だなw
0921デフォルトの名無しさん
2010/11/07(日) 22:40:19ググれとか言っている奴はどれだけ馬鹿なんだよ。
0922デフォルトの名無しさん
2010/11/07(日) 22:43:53オーバーレイとでも混同しているのか?
かなり頭の悪い奴が混ざってるな。
0923デフォルトの名無しさん
2010/11/07(日) 22:45:460924デフォルトの名無しさん
2010/11/07(日) 22:47:50畑違いで知らないのならレスをしなければいいのに。
0925デフォルトの名無しさん
2010/11/07(日) 22:53:530926デフォルトの名無しさん
2010/11/07(日) 22:54:130927デフォルトの名無しさん
2010/11/07(日) 22:55:320928デフォルトの名無しさん
2010/11/07(日) 22:55:41DirectSoundとかいいたいのか?w
0929デフォルトの名無しさん
2010/11/07(日) 22:58:480930デフォルトの名無しさん
2010/11/07(日) 23:01:350931デフォルトの名無しさん
2010/11/07(日) 23:02:03DirectShow
Direct2D
DirectWrite
0932デフォルトの名無しさん
2010/11/07(日) 23:05:09GetDCなんか使うとAeroのグラス部分がちゃんと撮れない。
0933デフォルトの名無しさん
2010/11/07(日) 23:08:080934デフォルトの名無しさん
2010/11/07(日) 23:09:17きちんと合成後の状態がとれるよ。
それともレイヤードウインドウ等を含めて、ブレンド前の状態を完全保存しろと言うことなのか?
後出しで誰も要望していない無意味な話を追加していく奴っていったい何なんだろう?
0935デフォルトの名無しさん
2010/11/07(日) 23:10:39Aeroのグラス部分が透けないって事だろ。
0936デフォルトの名無しさん
2010/11/07(日) 23:11:320937デフォルトの名無しさん
2010/11/07(日) 23:12:18もうすぐ2011年でちゅよ〜
0938デフォルトの名無しさん
2010/11/07(日) 23:20:430939デフォルトの名無しさん
2010/11/07(日) 23:29:54結果は
○ GetDC(GetDesktopWindow())+BitBlt
× GetDC(対象ウィンドウ)+BitBlt
× PrintWindow
0940デフォルトの名無しさん
2010/11/07(日) 23:36:070941デフォルトの名無しさん
2010/11/07(日) 23:41:37また司法省に叩かれればいいのにw
0942デフォルトの名無しさん
2010/11/07(日) 23:45:480943デフォルトの名無しさん
2010/11/07(日) 23:47:020944デフォルトの名無しさん
2010/11/07(日) 23:49:11ttp://d.hatena.ne.jp/NyaRuRu/20081126/p1
あとWMP12(動画再生中)をGetDC(hWnd)で撮ったら真っ暗だった
0945デフォルトの名無しさん
2010/11/07(日) 23:54:59if(width==0 || height==0 || (SIZET_MAX/sizeof(DWORD)/width) < height) {
で、sizeof(DWORD)で割ってる意味が分からんのだが
0946デフォルトの名無しさん
2010/11/07(日) 23:55:59C++を勉強しましょう。
0947デフォルトの名無しさん
2010/11/07(日) 23:56:25オーバーレイのはとれないね
0948デフォルトの名無しさん
2010/11/07(日) 23:59:120949デフォルトの名無しさん
2010/11/08(月) 00:00:13new T[N]はsizeof(T)*Nバイト要求されるって分かってるか
0950デフォルトの名無しさん
2010/11/08(月) 00:05:160951デフォルトの名無しさん
2010/11/08(月) 00:06:24これを欲しい要素(この場合DWORD)のサイズで割ると、オーバーフローせずに確保できる最大サイズがわかる
この場合 width * height <= SIZE_T_MAX / sizeof(DWORD) が成立すればオーバーフローせずに確保できる
だからこういう式になる
わかってると思うけど一応。
0952デフォルトの名無しさん
2010/11/08(月) 00:14:31いちいちsizeof(DWORD)で割らなくて宜しい
と言いたいのでは?
0953デフォルトの名無しさん
2010/11/08(月) 00:16:49>>892で十分
0954デフォルトの名無しさん
2010/11/08(月) 00:19:490955デフォルトの名無しさん
2010/11/08(月) 00:26:45少なくとも>>891ではxが既にオーバーフローしてる場合にはそのチェックでは防げん
0956デフォルトの名無しさん
2010/11/08(月) 00:31:050957デフォルトの名無しさん
2010/11/08(月) 00:33:46はあ?
if(width==0 || height==0 || (SIZET_MAX/width) < height) {
こう書いたらwidth*heightはオーバーフローしないよ?
0958デフォルトの名無しさん
2010/11/08(月) 00:34:000959デフォルトの名無しさん
2010/11/08(月) 00:38:50算数もできないコイツらって何なの?
0960945
2010/11/08(月) 00:42:04何に対してのオーバーフロー対策?
width、height?
俺も>>957でいいんでね?と思ってるから、sizeof(DWORD)で
割る理由が分からないのだが。。。
0961デフォルトの名無しさん
2010/11/08(月) 00:43:41マジで小学校からやり直したら?
0962945
2010/11/08(月) 00:43:44○:width*height?
訂正
0963CopyRect
2010/11/08(月) 00:44:150964デフォルトの名無しさん
2010/11/08(月) 00:45:270965デフォルトの名無しさん
2010/11/08(月) 00:48:330966デフォルトの名無しさん
2010/11/08(月) 00:49:35とりあえず>>945がリア小じゃなかったら日本の未来は終わりだ
0967デフォルトの名無しさん
2010/11/08(月) 00:50:550969デフォルトの名無しさん
2010/11/08(月) 00:54:27width=height=40000でも代入して計算してみろよ
0970デフォルトの名無しさん
2010/11/08(月) 01:05:26そもそもwidthはintなのかint64なのかで話が違っても来る
こんな未定義状態で議論するもんじゃないよ
しかも>>891は悪い例で出てるんだ。解釈できたところで威張っても仕方なかろう
0971945
2010/11/08(月) 01:05:4440000*40000=1600000000=5F5E1000 < SIZET_MAX(FFFFFFFF)
で、この時点でオーバーフローはしてないよな。
で、なんで
SIZET_MAX/sizeof(DWORD) = 3FFFFFFF
と比較してるんだ?と質問してるのだが。
0972デフォルトの名無しさん
2010/11/08(月) 01:10:34はぁ?>>891は良い例だろ
>そもそもwidthはintなのかint64なのか
SIZET_MAXを割ってるんだからsize_tと等価かそれより小さい符号無し整数型なのは読み取れるだろ
無能が多すぎるぜ…
0973デフォルトの名無しさん
2010/11/08(月) 01:10:510974デフォルトの名無しさん
2010/11/08(月) 01:13:10width=height=0x9C40
width*height=0x5F5E1000
width*height*sizeof(DWORD)=0x17D784000 ←SIZET_MAX=0xFFFFFFFFだとオーバーフロー
もう来るなぼけ
0975デフォルトの名無しさん
2010/11/08(月) 01:13:52悪い例だよ
こんなのを書いてたら君、落第するよ
0976デフォルトの名無しさん
2010/11/08(月) 01:17:140977945
2010/11/08(月) 01:19:58>width*height*sizeof(DWORD)=0x17D784000 ←SIZET_MAX=0xFFFFFFFFだとオーバーフロー
だから、「何が」オーバーフローするのか書けよ。
0978デフォルトの名無しさん
2010/11/08(月) 01:21:09>>967
とうとう日本語まで読めなくなったか
0979デフォルトの名無しさん
2010/11/08(月) 01:22:24width*heightが1000万超えたあたりからちょっと怪しいとか、
そういう判断は付くだろ。
オーバーフローとかそんなこと言ってる以前の問題だ。
常識で考えろ。
0980デフォルトの名無しさん
2010/11/08(月) 01:23:58頭大丈夫か?
0981デフォルトの名無しさん
2010/11/08(月) 01:25:440982デフォルトの名無しさん
2010/11/08(月) 01:27:22sizeof(DWORD) = 4
width = 0x3FFFFFFF
height = 0x2
こうした場合の動作は正しいのか
0983デフォルトの名無しさん
2010/11/08(月) 01:31:450985デフォルトの名無しさん
2010/11/08(月) 01:38:32>>949
0986デフォルトの名無しさん
2010/11/08(月) 01:39:18次スレ
たてたほうがいいとおもう
0987デフォルトの名無しさん
2010/11/08(月) 01:43:200988デフォルトの名無しさん
2010/11/08(月) 01:43:27MSのサイト
ttp://msdn.microsoft.com/en-us/library/ff551961(VS.85).aspx
には ntoskrnl.lib に含まれると書いてますが ntoskrnl.lib を加えても
「未解決の外部参照」って言われます。
(「パスが見つかりません」とかは出ないのでライブラリ自体は認識している模様)
0989945
2010/11/08(月) 01:44:53で、要求したら何がオーバーフローするの?
width*height > SIZET_MAX/sizeof(DWORD)
の場合、
new (std::nothrow) DWORD[width*height];
が単にメモリ確保に失敗するだけ?
0990デフォルトの名無しさん
2010/11/08(月) 01:47:410991デフォルトの名無しさん
2010/11/08(月) 01:52:02ダウト
0992デフォルトの名無しさん
2010/11/08(月) 01:55:25アセンブリリスティングとか見たことないの?
そんなレヴェルでC++を使ってるなんて信じられない
0993945
2010/11/08(月) 01:57:35>アセンブリリスティング
>レヴェル
0994デフォルトの名無しさん
2010/11/08(月) 01:58:560995デフォルトの名無しさん
2010/11/08(月) 01:59:550996デフォルトの名無しさん
2010/11/08(月) 02:00:31エロい行為は禁止です。
0997デフォルトの名無しさん
2010/11/08(月) 02:01:52http://hibari.2ch.net/test/read.cgi/tech/1289149302/
0998デフォルトの名無しさん
2010/11/08(月) 02:02:29では、次スレでお会いしましょう。
0999945
2010/11/08(月) 02:05:221000デフォルトの名無しさん
2010/11/08(月) 02:05:4910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。