ツイート Share on Tumblr
  編集 最終更新のRSS

Top > Programming > Tips
Table of Contents

はじめに

このページは私の個人メモです。疑わしいところがあったらコメントやメールで穏便に(淫靡に)教えてください。

[WindowsAPI] ウィンドウを強制的にフォアグラウンドにする

MSDNのSetForegroundWindowの項を読めばわかるように、この関数を使ってもいつもウィンドウをフォアグラウンドにすることができるわけではない。いくつかの条件を満たした時しかフォアグラウンドにはならない(その条件がMSDNに書いてある)。そこを曲げて何がなんでもフォアグラウンドを取る方法(ではないかもしれないが、いまのところそういうことで)。

hwnd: フォアグラウンドにしたいウィンドウのウィンドウハンドル

HWND hwndActive = GetForegroundWindow();
DWORD thisThreadId = GetCurrentThreadId();
DWORD activeThreadId = GetWindowThreadProcessId(hwndActive, NULL);
AttachThreadInput(thisThreadId, activeThreadId, TRUE);

SetForegroundWindow(hwnd);

AttachThreadInput(thisThreadId, activeThreadId, FALSE);

元のウィンドウをフォアグラウンドに戻すときは、

SetForegroundWindow(hwndActive);

で足りる(自分がフォアグラウンドになっているのでその権利がある)。

[WindowsAPI] stdoutへのunicodeの出力

(stdin, stderrへも応用できる)

_setmode(_fileno(stdout), _O_U8TEXT); // UTF-8 _setmode(_fileno(stdout), _O_U16TEXT); // UTF-16 _setmode(_fileno(stdout), _O_WTEXT); // unicode

動作の詳細はMSDNの _open 関数 を参照

[C++] C++のストリーム入出力とC stdioの混用

  • プログラムの最初の方で次の関数を呼ぶ。

    std::ios_base::sync_with_stdio();

[Windows,C++]ANSI以外のロケールは明示的に設定しなければならない

「プログラムの起動時に、次のステートメントと同等の処理が実行されます」

setlocale( LC_ALL, "C" );

_tsetlocale(LC_ALL, _T(""));

とすると、「ロケールは実装で定義されているネイティブ環境になります」 (MSDNの _tsetlocale 関数 を参照)。

[C++]std::basic_ios::imbueによるcin, cout, cerrのロケールの設定

まだよくわかっていない。 imbueでググること。

[WindowsAPI] ファイルの関連付けに基づくアイコンの取得

  • ExtractAssociatedIcon()では望みのものを取得できなかった。
  • SHGetFileInfo()を用いる。
  • フォルダアイコンなど、システムが持っているものについては、SHGetStockIconInfo()が使えるかもしれない。

[WindowsAPI] diropen(), dirclose()に相当するWindowsAPI

  • FindFirstFile(), FindNextFile(), FindClose()

Tag: Programming Tips




 

4G 6909HFJ 7 Pro Amazon Android Apple Apple ID Basic認証 C6833 CID Crespo Docomo Dream Droid 3 Droid 4 Droid Bionic Elini Eng hboot Engineering hboot Evo 3D Exynos Flashtool G Flex G1 Galaxy Galaxy Nexus Galaxy Note Galaxy Note 3 Galaxy S Galaxy S II Wimax Galaxy S2 Galaxy S3 Galaxy S4 Galaxy Tab GingerBread Gold Google HT03A HTC HTC J HTC J Butterfly HTC J butterfly HTC J one HTL21 HTL22 HTL23 Herring ICS ISW11M ISW11SC ISW12HT ISW13HT IceCreamSandwich IdeaPad J Butterfly JerryBean JerryBeans Jolla KB2387149 KB2813347 KB947821 KDDI Kindle Fire KitKat LG LGE LGL23 LTE Lenovo Lollipop MID MZ604 Magic Maguro Mahimahi Mango Microsoft ModelID MotoFail Motorola N1 Nexus One Nexus S Nodo Nokia OTA Optimus Chat PHP Passion Photon PukiWiki ROM RSD RUU Razr Razr Maxx SC01C SC03E SC05D SCL22 SIMロック解除 SO01F SO02F SO03C SOFF SOL23 Sailfish Samsung Sapphire Shooter_K Soju Sony Sony Mobile SonyEricsson Sunfire SuperCID Superuser.apk System Updates TMobile TWRP Tango Trout Tuna U150 Verizon WP7.0 WP7.8 Windows Windows Phone 7 Windows Server 2008 R2 Windows Update XT862 XT894 Xperia Xperia Z Ultra Xperia Z1 Xperia Z1f Xperia ray Yakju about adb au blaze bootloader fastboot forzando ftf iOS iTunes iTunes Store installrecovery.sh logwrapper m7_wlj nandroid odin qwerty recovery recovery.bin rooting xoom xrea アップデート エラー キーアサイン グレーアウト スクリーンショット フラッシュ ブート ブートローダアンロック プロフィール リカバリ 不具合 内部ストレージ 分解 見えない