<< ネイティブイメージジェネレータ | main | 衰えた >>

スポンサーサイト

  • 2006.07.08 Saturday
  • -
  • -
  • -
  • by スポンサードリンク

一定期間更新がないため広告を表示しています


Win32API: あるプログラムが、コンソールアプリかどうかを取得

今作ろうとしてるツールで、指定されたプログラムファイルが、コンソールアプリケーションなのかそうでないのかを判断する必要があった。

この場合、SHGetFileInfo を使えばいいようだ。てことでこんなプログラムを作って動作確認。
/** GetExeType.cpp
 *
 *      compile: cl -GX GetExeType.cpp shell32.lib
 */

#include <windows.h>
#include <iostream>

int main(int argc, char *argv[]){
    if (argc != 2)
        return -1;

    std::cout << argv[1] << ": ";

    DWORD_PTR exe_type;
    SHFILEINFO file_info;
    exe_type = SHGetFileInfo(argv[1], 0, 
        &file_info, sizeof(file_info), SHGFI_EXETYPE);

    if (exe_type == 0)
        std::cout << "noexecutable file or error" << std::endl;
    else if (!HIWORD(exe_type))
        std::cout << "console application" << std::endl;
    else
        std::cout << "windows application" << std::endl;

    return 0;
}
これでいいみたい。

スポンサーサイト

  • 2006.07.08 Saturday
  • -
  • 16:31
  • -
  • -
  • by スポンサードリンク

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
sponsored links
selected entries
categories
archives
recent comment
recent trackback
recommend
recommend
profile
search this site.
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM