程序中遇到的问题及解决方法:

#error WINDOWS.H already included. MFC apps must not #include <windows.h>
解决方法:把#include "afxtempl.h"放到程序所包含的所有头文件的前面

vs编译时出现大量ws2def.h的错误的解决方法
解决方法:(注意:顺序必须是这样)
#include "Winsock2.h"
#include "windows.h"

Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version
解决方法:在 项目/属性/常规/use of MFC 选项中选择 Use MFC in a Shared DLL

源码:

// InkNameToFullPathName.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include "afxtempl.h"
#include "Winsock2.h"
#include <windows.h>
#include <afxctl.h>
#include <string.h> using namespace std;
BOOL ExpandShortcut(PWCHAR outFile, PWCHAR inFile); int main()
{ //WCHAR FileFullPathData[MAX_PATH] = { 0 };
WCHAR* FileFullPathData = L"C:\\Users\\Public\\Desktop\\腾讯QQ.lnk" ;
WCHAR FileRealFullPathData[MAX_PATH] = { 0 };
if (wcsstr(FileFullPathData, L".lnk") != NULL)
{
if (ExpandShortcut(FileRealFullPathData, FileFullPathData))
{
} }
return 0;
} BOOL ExpandShortcut(PWCHAR outFile, PWCHAR inFile)
{
IShellLink* ISLink;
HRESULT hres;
WIN32_FIND_DATA FindDATA;
CoInitialize(NULL);
hres = ::CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
IID_IShellLink, (LPVOID*)&ISLink);
if (SUCCEEDED(hres))
{
IPersistFile* IPFile;
hres = ISLink->QueryInterface(IID_IPersistFile, (LPVOID*)&IPFile);
if (SUCCEEDED(hres))
{
hres = IPFile->Load(inFile, STGM_READ);
if (SUCCEEDED(hres))
HRESULT hres = ISLink->GetPath(outFile, MAX_PATH, &FindDATA, SLGP_UNCPRIORITY);
printf("%ls\n", outFile);
if (SUCCEEDED(hres))
return TRUE;
} ISLink->Release();
} return FALSE;
}

  

通过进程link路径(快捷方式路径)得到进程完整路径的更多相关文章

  1. Windows获取进程完整路径

    #include <stdio.h> #include <locale.h> #include <windows.h> #include <tlhelp32. ...

  2. 获取进程ID,父进程ID,进程完整路径

    准备写一个进程管理的功能模块,今天下午先写了扫描获取本机各个进程路径,获取各个进程映像名称,进程完整路径. 要获取进程信息,第一步想到的就是提权,提权代码用过多次了,今天也小结了一下(http://w ...

  3. C++获取当前所有进程的完整路径

    实现代码 #include <stdio.h> #include <windows.h> #include <tlhelp32.h> #include <st ...

  4. Linux 查看进程运行的完整路径方法

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等. 这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一 ...

  5. Linux查看进程运行的完整路径方法

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个 ...

  6. Linux-查看进程的完整路径

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息:Linux在启动一个进程时,系统会在/proc下创建一个以 ...

  7. linux根据进程号PID查找启动程序的全路径

    linux根据进程号PID查找启动程序的全路径 2014-01-25 11:09 18629人阅读 评论(0) 收藏 举报  分类: Linux系统管理(29)  版权声明:本文为博主原创文章,未经博 ...

  8. 通过快捷方式lnk获得文件真实路径

    通过快捷方式.lnk获得文件真实路径前提最近开发资源管理,需要预先上传大量资源,负责整理资源的同学因为空间不足,直接用快捷键方式整理视频资源OTZ,所以只能想办法通过.lnk文件获得文件的真实地址. ...

  9. Linux 的进程组、会话、守护进程

    一.进程组ID 每个进程都属于一个进程组.每个进程组有一个领头进程.进程组是一个或多个进程的集合,通常它们与一组作业相关联,可以接受来自同一终端的各种信号.每个进程组都有唯一的进程组ID(整数,也可以 ...

  10. 使用VC++通过远程进程注入来实现HOOK指定进程的某个API

    前阵子读到一篇关于<HOOK API入门之Hook自己程序的MessageBoxW>的博客,博客地址:http://blog.csdn.net/friendan/article/detai ...

随机推荐

  1. codeforces 985B Switches and Lamps

    题意: 有n个开关,m盏灯. 一个开关可以控制多个灯,一旦一个灯开了之后,之后再对这个灯的操作就没用了. 问是否存在一个开关,去掉了这个开关之后,按下其它开关之后所有的灯还是亮的. 思路: 首先统计每 ...

  2. 0004-20180422-自动化第五章-python基础学习笔记

    内容回顾:1.数据类型 2.for和while循环 continue break #如下循环将怎么打印结果? for i in range(1,10): print(i) for i in range ...

  3. 2017-2018-1 20155228 《数学建模》 MatlabR2017a安装教程

    2017-2018-1 20155228MatlabR2017a安装教程 原版软件和破解补丁的下载 原版软件和破解补丁的下载链接 需要关注微信公众号才能获取下载密码,照办就是了,为了学习嘛哈哈哈 有三 ...

  4. Web基础学习---HTML 第一天

    Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就 ...

  5. mysql(5.7以上)查询报错:ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by

    执行mysql命令查询时: select * from table_name错误信息如: [Err] 1055 - Expression #1 of ORDER BY clause is not in ...

  6. 1. Dubbo原理解析-Dubbo内核实现之SPI简单介绍 (转)

    转载自  斩秋的专栏  http://blog.csdn.net/quhongwei_zhanqiu/article/details/41577159 Dubbo采用 微内核 + 插件体系,使得设计优 ...

  7. 结构体(struct)

    结构体 结构体是将不同类型的数据按照一定的功能需求进行整体封装,封装的数据类型与大小均可以由用户指定. 1 结构体的声明.定义及初始化 1.1 声明结构体类型 struct 结构体名 { 成员列表: ...

  8. Intellij IDEA 修改默认配置

    更新IDEA,是配置无缝对接 idea里面的配置文件主要就idea64.exe.vmoptions,idea.properties 不要更新idea自带的这两个文件,因为在更新IntelliJ IDE ...

  9. IDEA的校园邮箱激活方式

    链接: https://blog.csdn.net/m0_37286282/article/details/78279060

  10. esay-ui学习笔记(一)

    JavaScript prototype用法 prototype 属性使您有能力向对象添加属性和方法. object.prototype.name=value <script type=&quo ...