Win32API 質問箱 Build8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGWin32 Application *Programmer* Interface
についての質問はこちらへどうぞ。
やさしいお兄さんたちが答えてくれるかも。
でも、質問する前に検索ぐらいしる!!
過去スレ・参考 >>2-5
0232228
NGNGありがとー。
ところで、MultiByteToWideChar や、WideCharToMultiByte をラップした、
std::wstring mbstr_to_wstr( const std::string& source );
std::string wstr_to_mbstr( const std::wstring& source );
↑のようなヘルパ関数をつくろうと思っているんだけど、
CodePage や、フラグの設定を固定したい場合は、どの設定が一番無難ですか?
経験豊かな人、誰かご教授願います。
0233デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0234231
NGNG何も考えないならとりあえず
MultiByteToWideChar(CP_ACP, 0, ...)
WideCharToMultiByte(CP_ACP, 0, ...)
でいいんじゃないの?
まずはそれからだ
0235228
NGNG以下レポート
mbtowc は その内部で、MultiByteToWideChar を呼び出しています。
しかも マルチスレッド対応でした。( _MTスイッチで指定 )
問題の CodePage は、 setlocale で指定するようだけど、
"C"ロケールを設定すると、CP_ACP にセットされるみたい。
VCで作成したアプリはデフォで "C"ロケールに設定されるらしいので(未確認)、
結局 mbtowc は、↓とほぼ同じになると。
::MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED | MB_ERR_INVALID_CHARS ... );
嘘言ってたらゴメンナサイ.
>>231
ありがとう。
でも、とりあえず mbtowc でもいいかなという気になりました。
0236デフォルトの名無しさん
NGNGはぁ?
0237デフォルトの名無しさん
NGNGttp://dailynews.yahoo.co.jp/fc/computer/2channel/
のアンケートで5を選びませんか? 目標50%
0238デフォルトの名無しさん
NGNGトリップだってさ
全然ボツ。
0239デフォルトの名無しさん
NGNGqb : 2ch批判要望 削除議論 削除要請 削除整理
live2 : ニュース速報
tmp : ニュース極東 ちくり裏事情 政治思想 Download
厨房! 人権問題 バカニュース 薬・違法
ゴーマニズム ロビー 最悪 少年犯罪
違反の潰し方 ペット苦手 なんでもあり 学歴
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
0242デフォルトの名無しさん
NGNGこれって、何が原因なの?
0243デフォルトの名無しさん
NGNG当事者が都合悪ければ誹謗中傷だわな
どうなっとんだ
0244デフォルトの名無しさん
NGNG>壊れやすいって新聞に投書するなり
まず1に、俺はそういうことを自分が主張したいのではなく
そういう情報を集めたいのだ。もちろん自分が書くこともあるだろうけど。
新聞はリアルタイムで会話ができない。
しかも載るか載らないかもわからない。
掲示板だと数多くの人の体験談やらなにやらがたくさん集まり
使っている人のナマの声が聞ける。それを信じるか信じないかはその人しだい。
しかし、途中で誰の手が加えられたわけでもなく
また、誰かによって省かれた部分がない意見というのは貴重だ。
書き込まれた瞬間に、自由な質問ができるのも魅力だ。
そういうのが無くなってしまう、もしくは減ってしまうというのは悲しい
0245デフォルトの名無しさん
NGNG祭り気取りなんだろ
IP取るのは管理者の勝手だが
スレ違いのレスを垂れ流されるのは邪魔でかなわん。
0246OFNトースター
NGNGってほどOPENFILENAMEに詳しい人いませんか?
0247デフォルトの名無しさん
NGNGすでに批判要望板の荒らし報告にあがってるな
◆スクリプト&コピペ(乱立)荒らし報告スレ27
http://qb.2ch.net/test/read.cgi/accuse/1041678810/
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG何が聞きたいのか、書いてみたら?
0250OFNトースター
NGNGコンパイルして実行してほしいです。
起動時に、名前を付けて保存のダイアログが出ます。
そのままマイドキュメントに保存すると、このプログラムでは
何も保存されないけど、エディットに結果が入ります。
その結果を教えてほしいのです。
0251OFNトースター
NGNGLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, PSTR, int) {
MSG msg;
WNDCLASSEX c;
c.cbSize = sizeof(WNDCLASSEX);
c.style = c.cbClsExtra = c.cbWndExtra = 0;
c.lpfnWndProc = WndProc;
c.hInstance = hInst;
c.hIcon= LoadIcon(NULL, IDI_APPLICATION);
c.hCursor = LoadCursor(NULL, IDC_ARROW);
c.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);
c.lpszMenuName = NULL;
c.lpszClassName= "test";
c.hIconSm = NULL;
if (!RegisterClassEx(&c)) return 1;
CreateWindow(
"test", "TEST",WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hInst, NULL);
while(GetMessage(&msg, NULL, 0, 0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
0252OFNトースター
NGNGOPENFILENAME ofn;
TCHAR strFile[MAX_PATH] = "default";
char buf[MAX_PATH];
static HWND hEdit;
static WORD w = 1234;
switch (msg) {
0253OFNトースター
NGNGhEdit = CreateWindow(
"EDIT", "", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL, 0, 0, 490, 22, hWnd, 0, ((LPCREATESTRUCT)(lParam))->hInstance, NULL);
memset(&ofn, 0, sizeof(OPENFILENAME));
ofn.lStructSize = 76;
ofn.hwndOwner = hWnd;
ofn.lpstrFilter = "DOC\0*.doc\0HTML\0*.html\0\0";
ofn.nFilterIndex = 0;
ofn.lpstrFile = strFile;
ofn.nMaxFile = MAX_PATH;
ofn.nFileOffset = w;
ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
0254OFNトースター
NGNGwsprintf(buf, "strFile = %s, nFileOffset = %d", strFile, w);
SetWindowText(hEdit, buf);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
ここまで。
0255OFNトースター
NGNGofn.lStructSize = 88; でofnが使える人の結果も知りたいです。
0256デフォルトの名無しさん
NGNGmsdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxStructures/OPENFILENAME.asp
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG・・・・・・・それが何か?
0259231
NGNGありゃ。確かにCP_ACPみたいだな。嘘ついてスマソ。
VC6以前ではまった気がしたんだが…。
printf("%S", L'あ');
とかできるようになったのかな??
0260256
NGNGtypedef struct tagOFN {
:
#if (_WIN32_WINNT >= 0x0500)
void * pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
#endif // (_WIN32_WINNT >= 0x0500)
} OPENFILENAME, *LPOPENFILENAME;
なぜ
ofn.lStructSize=sizeof(OPENFILENAME)
としないのか
0261デフォルトの名無しさん
NGNGhttp://www.enjoy.ne.jp/~gokaino1/
0262デフォルトの名無しさん
NGNGちょっと聞きたいんだけど、
Win32API の構造化例外を、C++ でハンドリングするとき、
try{ ::InitializeCriticalSection( &cs ); } // 構造化例外を投げる可能性のあるAPI関数
catch( ※ ){ ... }
※ の部分には何を書けばいいのか教えてください。
DWORD でいいのかな?
素直に __try 〜 __except( エラータイプ ) で囲むべき?
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGよし、とりあえずcatch(...)しとこ。」とかやってたら、そのtryのなかで
Access Violationが発生してたことに気づかなかったことがあったなぁ。
なんで、catchに行くのか理解できなかった覚えがあえる
0267デフォルトの名無しさん
NGNGRobocopy + SCopy + α みたいなミラーリングプログラムを作っているのですが、
ハマっています。 ご存じの方いたら教えてください。
SE_RESTORE_NAME特権を有効にすると、BackupWrite()で書込み権を持っていない
ディレクトリにファイルを書き戻せますが、書き込み権の無いディレクトリ中に
サブディレクトリを掘るにはどうしたらいいのでしょうか?
どうも、ディレクトリをBackupWrite()する場合、CreateDirectory()してから
BackupWrite()で属性情報だけ書き戻すしかないみたいですが、
CreateDirectory()はERROR_ACCESS_DENIEDになってしまいます。
CreateDirectory()するときだけACLを変更するのも何か違う気がするし...
0268デフォルトの名無しさん
NGNG_set_se_translator と、マクロを使ったほうがいいのでは…?
struct structured_exception; // Win32API構造化例外クラス
// 例外送出関数と、初期化関数
void trans_st_except( UINT e, EXCEPTION_POINTERS* pe ){
throw structured_exception( e, pe );
}
// main か WinMain のアタマで呼び出す
void init_structued_exception_hander(){ _set_se_translate( trans_st_except ); }
// マクロ expr には例外を送るような式とか関数を入れると
#define SE_TEST( expr ) \
__try{ (expr); } \
__finally{}
使用例
try{ SE_TEST( ::InitializeCriticalSection( &cs ) ) }
catch( structured_exception& se )
{
(エラー処理)
}
なんかわからんもんがすっ飛んでくるよりもいいでしょ。
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGということ。
正当性がある意見なら、実社会でも言える。
内部告発なんかも、実社会でも十分可能。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGま た ま さ と か!
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG>厨房板は本当に閉鎖なのか?
初耳。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG今日午前4時前、幸田駅の線路脇の道路でキャッチボールしていた中学3年生4人組がいた。
ところが、ボールが線路に入った。
幸田駅の線路に、ボールを取りに入った、中学3年生の女子1名が、貨物列車に
ばばばばばピィー― きゃ〜! ブァプアあああああああー―――――――ン!!!!!!
0284デフォルトの名無しさん
NGNG被害の大きさに差がありそうだけども。
誹謗中傷一番垂れ流しってどこかねぇ?
0285デフォルトの名無しさん
NGNG愚鈍な警察諸君
ボクを止めてみたまえ
ボクは殺しが愉快でたまらない
人の死が見たくて見たくてしょうがない
汚い野菜共には死の制裁を
積年の大怨に流血の裁きを
SHOOLL KILLER
学校殺死の酒鬼薔薇
0286デフォルトの名無しさん
NGNG他のウィンドウにボタン操作のメッセージを送るようにしたいのですが、
この状態だと他のウィンドウへのWM_COMMANDメッセージが送られず、操作できません。
どうすればできるのでしょうか?お願いです。教えて下さい。
0287デフォルトの名無しさん
NGNGちゃんと操作できました。さようなら。
0288デフォルトの名無しさん
NGNG俺達を見限ったのだ?
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG変更できるけど、メニューのキャプションを変更するには
どうすればいいですか?
(「最近使ったファイル」のようにしたいけど、あれは毎回
メニューを作り直している?)
それとアクティブでなくなると消えてしまうウィンドウ
(メニューやポップアップ)をスパイで捕まえる方法があったら
教えてくらはい
0292デフォルトの名無しさん
NGNG>(メニューやポップアップ)をスパイで捕まえる方法があったら
>教えてくらはい
えっ?定数でhMenu取るの?勇者だね君は
0293デフォルトの名無しさん
NGNGとりあえずSetMenuInfoとか書いてみる・・・
0294デフォルトの名無しさん
NGNGhMenu=GetMenu(hWND);
hMenuPlayThru=CreateMenu();
AppendMenu(hMenuPlayThru,MF_ENABLED|MF_STRING,n,sz);
AppendMenu(hMenu,MF_ENABLED|MF_STRING|MF_POPUP,(UINT)hMenuPlayThru,sz);
0295291
NGNG0297デフォルトの名無しさん
NGNG0298山崎渉
NGNG218.145.25.14:80
50.51.32.202.ts.2iij.net:80
cache146.156ce.scvmaxonline.com.sg:8080
cache50.156ce.scvmaxonline.com.sg:8080
12.119.64.42:80
ce590-gdl01.terra.net.mx:80
seton03.terra.net.mx:80
218.65.110.14:80
ce590-gdl02.terra.net.mx:80
0299デフォルトの名無しさん
NGNGマウスキャプチャして
MapWindowPoints と WindowFromPoint
でなんとかなりそうですね。
しかし今まで色々調べてたのに、質問してすぐ見つかるとは・・・。
板汚しすまそ。
0300300get
NGNG⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0301山崎渉
NGNG0302デフォルトの名無しさん
NGNGVisualC++5.0じゃビルドできませんか?
DLLのバージョンは5.81なので大丈夫だと思うんですが
未定義ですってエラーが出てしまいます。
0303デフォルトの名無しさん
NGNG二重起動を防止するときに、先に起動していたプログラムへ任意のイベントなどを
SendMessageなどで送ることはできないでしょうか?
同じプログラムが起動されたら先に起動していたプログラムにある動作をさせたいのですが。
もしかして、ウインドウハンドル捕まえて、それ宛にメッセージ送るだけ?
0304デフォルトの名無しさん
NGNGMutexにこだわらないなら、FindWindowで二重起動防止。
ウィンドウクラス名が重複している場合は使えんが・・・
ウィンドウクラス名に依存するのが嫌なら、名前付きイベントを使うのも良いかと
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGウィンドウ持つのが嫌ならスレッドメッセージというのもあるけども。
0308デフォルトの名無しさん
NGNGできる。
ヘッダファイルだけそろえてやればいい。
もしくはその定数を自分で定義してやってもオケ。
たしかBCC5.5.1とかには入ってるはずなので、落として差し替える!
0309デフォルトの名無しさん
NGNGいや、AAじゃなくてな。
0310デフォルトの名無しさん
NGNG聞いたこと無いねえ
0311デフォルトの名無しさん
NGNG一般にコンソールと言ったら CUI が常じゃないか?
0312デフォルトの名無しさん
NGNGあとは煮るなり焼くなり犯すなり。
0313デフォルトの名無しさん
NGNGstrcpy(FindPath, "c:\\*");
hFind=FindFirstFile(FindPath, &FData);
ここで FindPath[0]=0;としても
この後のFindNextFileに影響無しで良いですか?
0314デフォルトの名無しさん
NGNGWindows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Unsupported.
とか書いてあるけどナー。
0315デフォルトの名無しさん
NGNG多分無いと思うけど、何なら試してみたら?
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGあそこで設定したものってどうやってプログラムから取得するの?
現状としては選択色が取得したいんですが。
0319デフォルトの名無しさん
NGNGGetSysColor()では不満か?
0320デフォルトの名無しさん
NGNGメニューを表示してカーソルをメニューの外に移動させると、
アイテムが一つも選択されていない状態ができます。
このことを教えてくれるメッセージなどありますでしょうか。
御存知の方いらっしゃいましたら、どうかよろしくお願いいたします。
0321デフォルトの名無しさん
NGNGWindowsXP環境だけ失敗するのですが、
何かご存知の方居りませんか?
0322デフォルトの名無しさん
NGNGPetzold本に出てるようなファンクションをかたっぱしから試してどう動くかを学ぶとか?
ちなみに目標は自家製の本格的なテキストエディタ作成でつ。
0323デフォルトの名無しさん
NGNG・大学ノートを用意し,憶えたことを必ずメモする
・糞使いづらいMSDNの調べ方に慣れる
以上を繰り返せばテキストエディタは53行で書ける
0324デフォルトの名無しさん
NGNG名無しさん.txtが、名無し~1.txt であるとき、
名無しさん.txtを名無し~1.txtにリネームするには、どーやったらできますか?
MoveFile("名無しさん.txt", "名無しさ~1.txt");
ってしても成功して、そのまんまなんですけど。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGそうなんですけど、ロングをショートにしたいんです。
0327デフォルトの名無しさん
NGNG意図が不明だけど一回nanasi.txtを中継すれば良いんじゃないの。
0328デフォルトの名無しさん
NGNG一般にWin32APIはハンドル作った時点で情報のコピーを
作るからユーザー側で用意したバッファは壊してOK
>>321
詳細なテキストサービス…でぐぐってもオフにする方法しか
出てこないな。たぶんその関係だとは思うんだが
0329デフォルトの名無しさん
NGNG9xだとトンネリングというOSの余計なお世話のせいで
それでもうまくいかない可能性がある
0330デフォルトの名無しさん
NGNGすみません。それだと、nanasi.txtが既に存在しているかも
チェックしないとならないんですね。それがめんどいのです。
TempFileでも中継することにしますか。
うーん。なんかないものか。
0331デフォルトの名無しさん
NGNGえ?じゃ、>>330もだめか。
■ このスレッドは過去ログ倉庫に格納されています