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

#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. django中的数据库迁移

    Django是用python写的web开发框架,其特点是: 1.重量级框架,内部封装了很多的功能组件,使开发变的简便快速, 2.MVT模式:前后端分离,高内聚低耦合,m:model,与mvc中的m功能 ...

  2. SV class

    SV中的class通过new来创建实例,new函数可以传递多个参数: packet P1:  P1 = new:创建一个P1的对象: P2 = P1:P2也指向同一个对象: P2 = new P1:P ...

  3. Django框架详细介绍---ORM相关操作---select_related和prefetch_related函数对 QuerySet 查询的优化

    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化 引言 在数据库存在外键的其情况下,使用select_related()和pre ...

  4. java poi 合并 word文档

    import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import jav ...

  5. select报错

    query = query.Where(c => c.MfcKey==temp); int hhho = query.Count(); query = from q in query join ...

  6. vue计算属性和侦听器

    一.计算属性: main.js: var app = new Vue({ el: '#app', data: { math: 80, physics: 90, english: 30 }, compu ...

  7. latch release ......

    MainControl_cfg.c brings error:  not defined. /* e_TIMER_MCtrlLatchReleaseTime  */     TIMER_ID_MCtr ...

  8. SQL小结1

    #数据表的查询框架: select [all | distinct] select_list from tb_name [where 查询条件] [group by <group_by_expr ...

  9. Dart基础-泛型和库

    https://blog.csdn.net/hekaiyou/article/details/46774727

  10. ARM基础

    ARM汇编:(APCS过程调用标准) 汇编:用助记符(如$ # .)代替操作码,用地址符号或标签代替地址码的编程语言 特点: 优点:可以直接访问硬件,目标代码简短,执行速度快(CPU启动时需要直接操作 ...