WinAPI
@see http://d.hatena.ne.jp/ir9/20171228/1514446008
Windowsのエラーコードを FormatMessage() で抽出しただけのページを更新しました! 忘れてないよ! 更新しようと思い続けてたんだよ!マジで! ちなみに前回は 2005年4月に更新していたらしので、実に12年ぶりの更新となりました。 …そんだけHP続けてるとか…
C90でこんな本出しますー。 100p ぐらい。 3日目 西f-06b でお待ち申す!@see C90新作 - 《WinAPI》Path系API 試用&カテゴライズ本[20年遅い]
やだ恥ずかしい…… パス例 日本語圏 英語圏 notepad.exe.\notepad.exe..\notepad.exe 相対パス relative path \windows\notepad.exe ? absolute path c:\windows\notepad.exe 絶対パス / フルパス fully qualified path (完全修飾パス) …で、良いのかしら……
StrCmpLogicalWへぇえええ!!しかしなんというか、こんな関数よく実装したよねって思う。超面倒な気がするんだけど(ぉ
// VC6 LWSTDAPI_(void) PathQuoteSpacesA(LPSTR lpsz); LWSTDAPI_(void) PathQuoteSpacesW(LPWSTR lpsz); // VC2003 LWSTDAPI_(void) PathQuoteSpacesA(LPSTR lpsz); LWSTDAPI_(void) PathQuoteSpacesW(LPWSTR lpsz); // VC2005 LWSTDAPI_(void) PathQuoteS…
C# のテストプロジェクト内でこの問題に遭遇。 困ったことに、デバッグでテストを開始するとロードに成功するにも関わらず、ただの実行だと 1314 を返すという………なんなの…… 解決できた方法 TestInitialize で SE_RESTORE_NAME, SE_BACKUP_NAME を与えていま…
取得したパスを他のプログラムに渡すべく、コマンドライン引数に渡す…という処理を書いたのです。 イメージ的にはこんな感じ。 # コマンドラインで書くとこんな感じ。 # スペース入ることがあるので "" で囲ってあげる >foo.exe "%PathInfo%" "%bar_param%"…
WinXP 64bit Edition だけ、GetStockObject(DEFAULT_GUI_FONT) で取得できるデフォルトのフォントの大きさが違ってまいっちんぐ。 ちゃんと 9pt を指定してるのに、8.25pt(?) になっちゃってるんですよね。ちっともデフォルト見てくれないのは一体…まぁ多分…
金糸雀オンリーの時に出した新作アプリ(フックしてごにょごにょするモノ)なんですが、特定のアプリケーションのみ終了時に落ちるという状況が発生しています。トレースしてみたところ……(あ、前提として、グローバルにデストラクタ付きのオブジェクトAが…
217 名前: デフォルトの名無しさん [sage] 投稿日: 2008/03/10(月) 23:32:49 多重起動禁止といえば、俺はいつもCreateMutex→CreateWindowの順で やっていたが、CreateWindow→CreateMutexにしないと穴があるな。 既に起動しているインスタンスがあれば、そ…
http://msdn.microsoft.com/library/ja/jpmemory/html/_win32_isbadcodeptr.asp http://msdn.microsoft.com/library/ja/jpmemory/html/_win32_isbadreadptr.asp http://msdn.microsoft.com/library/ja/jpmemory/html/_win32_isbadstringptr.asp http://msdn.…
64bit メモリ空間操作用として VirutalAllocVlm など、VLM (Very Large Memory) 系の関数があります。以下リスト(抜けがあるかも)。 CopyMemoryVlm FillMemoryVlm MapViewOfFileVlm MoveMemoryVlm ReadFileVlm ReadProcessMemoryVlm UnmapViewOfFileVlm Vi…
GetOpenFileName / GetSaveFileName で開くコモンダイアログのファイル名のエディットボックス*1に、手動でパスを入力していくと候補が勝手に出てきて手軽にファイル名を選択することが出来るじゃないですか。この機能、自前アプリケーションでも使いたいな…
タイトルのように、GUID を 文字列化したかったのです。 ちなみに、その文字列をファイルに書き込んでみたり、書き込んだ値を読み込んで再度 GUID に戻してみたり…という事を計画してます。さて、GUID を printf とかで自前で文字列化する方法も取れますが、…
AppendMenu や InsertMenu 等で動的にメニューの内容を変えられ、且つ、CreateMenu や CreatePopupMenu 等で動的にメニューリソースを確保する事が出来ますがー さて、CreatePopupMenuで、サブメニューを動的に追加しようとします。 ハンドルを新しく作成し…
何かしら常駐アプリを作った時*1、「DirectXを利用したフルスクリーンのゲームが動いているときは、特定の処理を行いたくない!」というケースが発生する事があります。フルスクリーンで集中して遊んでいる中、突然謎の音が鳴ったり、謎の通知ウィンドウが出…
コミケ直前にこの問題に遭遇して、x64 build のリリース大丈夫かとヒヤヒヤしましたが…^^;さて、この問題について検証してみました。テストコードとして次のコードを打ち*1、x64 build 最適化付き (/O2, /Ox) でビルドしてみると可憐に落ちます。 enum ET…
ある自作DLLが export している関数を、メインのアプリケーションから呼んだとします。 で、このDLLは遅延読み込みを行い、初めてそのDLLが読み込まれたとシマス。関数を呼ぶところでDLLが読み込まれ DllMain が実行されますがー DllMain を抜けたところで落…
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/callnexthookex.asp?frame=true LRESULT CallNextHookEx( HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam ); hhk Ignored. !…
CreateFileMapping と MapViewOfFile を利用すると、プロセス間を超えた共有メモリ空間を作成することができますがーこれ、つまりは 「同じメモリ空間に対して、複数のプロセスから同時にアクセスされる可能性がある」 == 排他処理しないと落ちるんじゃね!…
R6034 An application has made an attempt to load the C runtime library without using a manifest. This is an unsupported way to load Visual C++ DLLs. You need to modify your application to build with a manifest. For more information, see th…
VS2005β2 をインストールしたまま、結局大して使わず 試用期間を終えてしまった研究室のx64マシンですが、本日ようやく正式リリース版の VS2005 を入れることにしたわけですよ。ただ、VS2005β2 は正しくアンインストールしないと、正式リリース版がうまく動…
当サークルのソフトウェア、薔薇乙女メールチェッカー きてますか?きてませんか? ですが、コレ動作対象プラットフォームを Windows 2000 Windows XP Windows XP 64bit Edition Windows Vista (たぶん) という事にしておいたのです。 Windows 2000 での開発…
自作ソフトウェア RozenBiff でバグが出てしまった わけですが^^;(現在は修正パッチ公開済み)コレは見事にはまったといいますかなんというか。ソフトウェアの内容としては 全てのダイアログを Hook して コントロールのテキスト置き換え なんですが、あ…
あるディレクトリに kanaria.dll misya.dll manna.dll manna.dll__ //なんて、ファイルがあったとしましょう。このディレクトリに対して、FindFirstFile("*.dll"); で DLL を列挙しようと仕掛けてみると…… "manna.dll__" というファイルまで列挙されてしまう…
LoadImage 関数で OEMリソースへのハンドルが取れる……らしいのですが、どうしてもNULLが返ってきてしまう。 適切に値を与えてるはずなのに………OEMリソースには共有っぽいから LR_SHARE フラグ立てないといけないのかな〜…なんて思ったら、ビンゴ。 というわけ…
相性悪いよなぁ…と強く思う今日この頃。^^;例えば、文字列を扱うのに std::basic_string<TCHAR> を利用したとします。で、Win32API で「文字列へのポインタ」と「文字数」の2つの引数を含む関数 -- 例えば TextOut 等を呼び出すコードを描いてみるわけですよ。 </tchar>…
HookType として WH_SYSMSGFILTER をインストールして、ダイアログのメッセージをフックして遊んじゃおうぜ計画なのですが…前に SetWindowText したのに、WM_SETTEXT がフックプロシージャに飛んでこないよ!! なんて自体に遭遇しました。 んじゃー、何のメ…
SetWindowsHookEx で hook についての実験をちょくちょくしています。とりあえず、入門者が 64bit OS の上で 32bit DLL を利用した HOOK の学習は、ヤヴァイような気がしてきたので ^^; 32bit マシン上で開発テストしてました。 まだいまいち挙動が判って…