鱼C论坛

 找回密码
 立即注册
查看: 2170|回复: 4

[已解决]关于进程目录打开求助

[复制链接]
发表于 2018-9-24 11:57:10 | 显示全部楼层 |阅读模式
20鱼币
翻出来以前写的的任务管理器,突然想添加一个功能,打开进程目录。
能力有限了- -,也找到了相关函数,想要解决问题如图......
一开始规划代码如下:
1、 获取ListCtr控件信息(选中行)
2、获取List文本内容(进程ID)
3、获取ID句柄
4、找到该.exe进程
5、根据文件路径打开当前所在目录
.exe不可用文件API来操作,也在官网找了几个.... 不会用 求助求助!
最佳答案
2018-9-24 11:57:11
本帖最后由 人造人 于 2018-9-24 14:31 编辑
#include <stdio.h>
#include <string.h>
#include <windows.h>

void OpenExplorerAndSelect(char *file_name)
{
        const char *path = "C:\\Windows\\explorer.exe";
        char buf[100];
        buf[0] = '\0';
        strcat(buf, path);
        strcat(buf, " /select,");
        strcat(buf, file_name);

        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        ZeroMemory(&si, sizeof(si));
        ZeroMemory(&pi, sizeof(pi));
        si.cb = sizeof(si);

        CreateProcess(NULL, buf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
}

int main(void)
{
        char *file_name = "C:\\Windows\\notepad.exe";
        OpenExplorerAndSelect(file_name);
        printf("OK!\n");

        return 0;
}
RWC(TVQ9SDU[AJV0VXDPM15.png
UWEE9UX4C(B1J@W$GO7I1AS.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 11:57:11 | 显示全部楼层    本楼为最佳答案   
本帖最后由 人造人 于 2018-9-24 14:31 编辑
#include <stdio.h>
#include <string.h>
#include <windows.h>

void OpenExplorerAndSelect(char *file_name)
{
        const char *path = "C:\\Windows\\explorer.exe";
        char buf[100];
        buf[0] = '\0';
        strcat(buf, path);
        strcat(buf, " /select,");
        strcat(buf, file_name);

        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        ZeroMemory(&si, sizeof(si));
        ZeroMemory(&pi, sizeof(pi));
        si.cb = sizeof(si);

        CreateProcess(NULL, buf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
}

int main(void)
{
        char *file_name = "C:\\Windows\\notepad.exe";
        OpenExplorerAndSelect(file_name);
        printf("OK!\n");

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 14:10:17 | 显示全部楼层
#include <string.h>
#include <process.h>

void OpenExplorerAndSelect(char *file_name)
{
        const char *path = "C:\\Windows\\explorer.exe";
        char buf[100];
        
        buf[0] = '\0';
        strcat(buf, "/select,");
        strcat(buf, file_name);
        _execl(path, path, buf, NULL);
}

int main(void)
{
        char *file_name = "C:\\Windows\\notepad.exe";
        OpenExplorerAndSelect(file_name);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-24 15:44:11 | 显示全部楼层

哈哈你换头像了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 17:28:00 | 显示全部楼层

好久没换了
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 14:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表