亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++獲取任務欄打開程序窗口示例

2020-01-26 15:41:39
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

// File: OpenProgramOnTaskbar.h

#pragma once
#include <vector>

struct TaskInfo
{
    // 程序名稱
    CString strProgramName;

    // 窗口句柄
    HWND hWnd;
};

class TaskbarInfo
{
public:
    // 回調函數
    static BOOL CALLBACK EnumWindowProc(HWND hWnd, LPARAM lParam);
public:

    // 記錄在任務欄打開的程序
    std::vector<TaskInfo> m_TaskbarInfoArr;

    // 頂層窗口句柄
    HWND m_hWnd;

public:
    TaskbarInfo();
    ~TaskbarInfo();

    // 獲得在任務欄打開程序信息
    void GetTaskbarInof (void);

    // 獲得頂層窗口句柄,失敗返回NULL
    HWND GetTopWnd (void);
};

復制代碼 代碼如下:

// File: OpenProgramOnTaskbar.cpp

#include "stdafx.h"        // 如果編譯出錯,請刪除這句
#include "OpenProgramOnTaskbar.h"

#include "Psapi.h"
#pragma comment(lib, "Psapi.lib") 

TaskbarInfo::TaskbarInfo()
{

}

TaskbarInfo::~TaskbarInfo()
{

}

void TaskbarInfo::GetTaskbarInof (void)
{
    EnumWindows(EnumWindowProc, (LPARAM)this);
}

BOOL CALLBACK TaskbarInfo::EnumWindowProc(HWND hWnd, LPARAM lParam)
{
    TaskbarInfo * pTaskbarInfo = (TaskbarInfo*)lParam;

    TCHAR szWindow[256]={0};
    TaskInfo taskInfo;

    ::GetWindowText(hWnd, szWindow, 255); //獲取窗口標題
    if ( ::IsWindow(hWnd) &&
        ::IsWindowVisible(hWnd) &&
        (::GetWindowLong(hWnd, GWL_EXSTYLE)&WS_EX_TOOLWINDOW)!=WS_EX_TOOLWINDOW &&
        ::GetWindowLong(hWnd, GWL_HWNDPARENT)==0 )
    {
        DWORD dwPID;  //保存進程標識符

        GetWindowThreadProcessId(hWnd, &dwPID);  //接受一個窗口句柄。dwPID保存窗口的創建者的進程標識符,GetWindowThreadProcessId返回值是該創建者的線程標識符
        HANDLE hBrowser = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID);  //打開一個已存在的進程對象,并返回進程的句柄,這就是我們要的進程句柄了

        WCHAR exePath[256];
        memset(exePath, 0, 256);
        //獲取程序的path,并保存到exePath
        GetModuleFileNameEx(hBrowser, NULL, exePath, MAX_PATH);
        CString strTemp = exePath;
        strTemp.MakeLower();

        // 過濾在桌面打開的文件夾等
        if (!strTemp.IsEmpty() && strTemp.Find(_T("explorer.exe")) == -1)
        {
            taskInfo.strProgramName = szWindow;
            taskInfo.hWnd = hWnd;
            pTaskbarInfo->m_TaskbarInfoArr.push_back(taskInfo);
            memset(szWindow, 0, 256);
        }
    }
    return TRUE;
}

HWND TaskbarInfo::GetTopWnd (void)
{
    DWORD dwPID;  //保存進程標識符
    HWND hWnd = NULL;
    hWnd = ::GetForegroundWindow();

    GetWindowThreadProcessId(hWnd, &dwPID);  //接受一個窗口句柄。dwPID保存窗口的創建者的進程標識符,GetWindowThreadProcessId返回值是該創建者的線程標識符
    HANDLE hBrowser = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID);  //打開一個已存在的進程對象,并返回進程的句柄,這就是我們要的進程句柄了

    WCHAR exePath[256];
    memset(exePath, 0, 256);
    //獲取程序的path,并保存到exePath
    GetModuleFileNameEx(hBrowser, NULL, exePath, MAX_PATH);
    CString strTemp = exePath;
    strTemp.MakeLower();

    if (!strTemp.IsEmpty() && strTemp.Find(_T("explorer.exe")) == -1)
    {
        m_hWnd = hWnd;
        if (m_hWnd != NULL)
        {
            return m_hWnd;
        }
    }

    return NULL;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区影院| 麻豆精品精华液| 欧美大片欧美激情性色a∨久久| 尤物yw午夜国产精品视频明星| 亚洲高清福利视频| 一本色道久久88综合亚洲精品ⅰ| 国产欧美精品在线播放| 亚洲精品第一页| 欧美寡妇偷汉性猛交| 久久精品视频va| 国产人妖伪娘一区91| 中文字幕亚洲色图| 欧美视频不卡中文| 色老头一区二区三区在线观看| 69影院欧美专区视频| 亚洲视屏在线播放| 色综合久久精品亚洲国产| 日韩一区二区精品视频| 亚洲人成网在线播放| 国产精品视频内| 亚洲福利视频网站| 日韩成人在线播放| 国产成人精品av在线| 国产精品久久久久久久av电影| 91精品国产综合久久男男| 伊人男人综合视频网| 国产在线拍揄自揄视频不卡99| 国产精品一区二区三| 国产日韩欧美在线视频观看| 91精品久久久久久综合乱菊| 国产福利成人在线| 久久国产精品网站| 国产精品成人观看视频国产奇米| 亚洲自拍高清视频网站| 91久久精品在线| 欧美成人精品一区二区| 日韩中文字幕精品| 亚洲色图激情小说| 97免费视频在线播放| 欧美寡妇偷汉性猛交| 久久精品视频在线播放| 国产成人高清激情视频在线观看| 精品国产欧美一区二区三区成人| 欧美一级免费视频| 精品国产一区二区三区久久狼5月| 亚洲精品suv精品一区二区| 国内精品视频久久| 国产欧美精品一区二区| 精品久久久久久中文字幕大豆网| www.欧美免费| 欧美午夜宅男影院在线观看| 欧美成人午夜激情视频| 国产欧美在线视频| 国产精彩精品视频| 欧美视频在线观看免费网址| 亚洲自拍另类欧美丝袜| 国产欧美精品日韩精品| 成人精品在线观看| 精品国产拍在线观看| 欧美黄色片视频| 91精品国产综合久久男男| 国产精品美女久久| 91av视频在线| 久久人人看视频| 欧美成在线视频| 亚洲free嫩bbb| 亚洲欧美日韩久久久久久| 91国产视频在线播放| 亚洲国产欧美一区二区三区久久| 蜜臀久久99精品久久久无需会员| 91精品在线观看视频| 成人免费网站在线| 操人视频在线观看欧美| 欧美日韩性视频| 国产精品专区一| 国产精品一区二区三区毛片淫片| 国产欧美日韩精品在线观看| 日本精品性网站在线观看| 国产精品羞羞答答| 欧洲精品毛片网站| 欧美中文字幕视频在线观看| 最新的欧美黄色| 国产丝袜一区二区三区| 中文字幕国产亚洲| 亚洲3p在线观看| 国产盗摄xxxx视频xxx69| 国产一区二区三区在线观看视频| 精品国产91久久久久久| 国产999精品久久久| 欧美亚洲成人精品| 国产99久久精品一区二区永久免费| 国产成人自拍视频在线观看| 孩xxxx性bbbb欧美| 91香蕉国产在线观看| 在线丨暗呦小u女国产精品| 亚洲视频在线观看视频| 日本国产欧美一区二区三区| 欧美国产在线视频| 欧美黑人巨大精品一区二区| 亚洲精品美女视频| 国产亚洲欧洲高清| 亚洲3p在线观看| 成人福利在线视频| 理论片在线不卡免费观看| 欧美成人网在线| 久久精品国产亚洲| 国模极品一区二区三区| 欧美一级免费视频| 国产91色在线播放| 亚洲性无码av在线| 久久久www成人免费精品张筱雨| 亚洲人成网7777777国产| 日本韩国欧美精品大片卡二| 欧美精品videossex88| 欧美床上激情在线观看| 午夜精品美女自拍福到在线| 一个色综合导航| 久久久之久亚州精品露出| 久久久久久国产精品美女| 免费99精品国产自在在线| 亚洲最新av网址| 日韩欧美在线字幕| 欧美丰满少妇xxxx| 久久亚洲精品小早川怜子66| 国产91久久婷婷一区二区| 日韩亚洲精品电影| 欧美黑人xxx| 亚洲91精品在线观看| 91色视频在线导航| 国产91热爆ts人妖在线| 精品色蜜蜜精品视频在线观看| 欧美黄色性视频| 久久视频免费在线播放| 欧美日韩在线另类| 伊是香蕉大人久久| 日韩av在线免费观看| 狠狠综合久久av一区二区小说| 欧美日韩国产在线看| 欲色天天网综合久久| 亚洲欧美中文另类| 国产精品亚洲美女av网站| 亚洲激情国产精品| 日韩av成人在线观看| 国产精品wwwwww| 亚洲精品国产美女| 黄网动漫久久久| 国产日韩欧美日韩| 激情懂色av一区av二区av| 亚洲乱码一区二区| 成人444kkkk在线观看| 在线观看日韩视频| 国产精品综合不卡av| 国语自产精品视频在线看抢先版图片| 国产日产亚洲精品| 亚洲黄色www网站| 久久久成人精品视频| 日韩网站在线观看| 最近中文字幕2019免费| 狠狠操狠狠色综合网| 91在线视频九色| 另类图片亚洲另类| 欧美亚洲视频在线看网址| 日韩精品中文字幕在线播放| 国产一区二区三区18|