GetModuleFileNameA()与GetCurrentDirectoryA()

头文件: #include <windows.h>

GetModuleFileNameA()
char moduleFileName[MAX_PATH];
GetModuleFileNameA(0, moduleFileName, MAX_PATH);

取得的路径为:c:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects 
\Test\debug\Test.exe

    char moduleFileName[MAX_PATH];
    GetModuleFileNameA(NULL, moduleFileName, MAX_PATH);
    std::string workingFolder(moduleFileName);
    size_t pos = workingFolder.find_last_of("\\");
    workingFolder = workingFolder.substr(0, pos+1);
    std::cout<<workingFolder<<std::endl;    

取得的路径为:c:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects 
\Test\debug\

GetCurrentDirectoryA()
char result[MAX_PATH];
GetCurrentDirectoryA(MAX_PATH, result);

取得的路径为:c:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects 
\Test\Test

GetModuleFileNameA()与GetCurrentDirectoryA()

时间: 2024-11-01 20:55:14

GetModuleFileNameA()与GetCurrentDirectoryA()的相关文章

pb 实用方法

1.RGB函数计算公式: 颜色值 = (65536 * Blue) + (256 * Green) + (Red) 2.控件可拖动: send(handle(this),274,61458,0) 3.如何用程序控制下拉子数据窗口的下拉和收起 用modify或者直接用dw_1.object.col1.dddw.showlist = true 4.检索参数有些不需要传入则传%. 5.如何屏蔽鼠标滚轮触发 在控件的other事件写 if message.number = 522 then return

msvcrt.dll 导出/导入函数列表

Section contains the following exports for msvcrt.dll 00000000 characteristics F5BDEFD7 time date stamp 0.00 version 1 ordinal base 1317 number of functions 1317 number of names ordinal hint RVA name 1 0 0000A540 [email protected]@[email protected]@@

常见C++面试题(三)

strcpy和memcpy有什么区别?strcpy是如何设计的,memcpy呢? strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符.(保证dest可以容纳src.) memcpy提供了一般内存的复制.即memcpy对于需要复制的内容没有限制,因此用途更广. strcpy的原型是:char* strcpy(char* dest, const char* src); char * strcpy(char * dest, const

PE头的应用---插入代码到EXE或DLL文件中

三.代码实现(DELPHI版本),采用第三种方式实现代码插入. 1. 定义两个类,一个用来实现在内存中建立输入表:一个用来实现对PE头的代码插入. DelphiCode: const MAX_SECTION_NUM = 20; const DYN_LOADER_START_MAGIC = $C0DE51A9; const DYN_LOADER_END_MAGIC = $C0DEE2DE; const DYN_LOADER_START_DATA1 = $DA1EDA1E; const IMPORT

OD调试程序常用断点大全

常用断点 拦截窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本 拦截消息框: bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框 bp IsDialogMessageW 拦截警告声: bp MessageBe

vc获取本地IP和机器名

#include <winsock2.h> #include <string> #include <boost/filesystem.hpp> #pragma comment(lib,"ws2_32.lib") std::string GetLocalIpAndSave(void) { WSADATA wsaData; char name[155]; std::string strIp; PHOSTENT hostinfo; if ( WSAStar

dll注入简单实现

// InjectDll.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include <string> #include "stdio.h" #include <iostream> using namespace std; #define DEF_BUF_SIZE 1024 //用于存储注入模块DLL的路径全名 char szDllPath[D

2016.9.15 黑客编程之无限启动

1.涉及的编程工具是:VS2013:可以在windows环境下,编写web,JavaScript,C++,C等等程序: 2.第一个需要掌握的函数是:ExitWindowsEx(EWX_REBOOT, 0);该函数用来重启,关闭,注销电脑: 3.使用该函数必须先,包含windows的API: #include <windows.h> 4.权限问题,代码解决: BOOL MySystemShutdown(){ HANDLE hToken; TOKEN_PRIVILEGES tkp; // Get

一个小笔记(1):设置重启电脑、自动启动

[设置重启电脑] 使用API函数ExitWindowsEx  BOOL WINAPI ExitWindowsEx(  _In_ UINT  uFlags,  _In_ DWORD dwReason); [MSDN]https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=ZH-CN&k=k(winuser%2FExitWindowsEx);k(ExitWindowsEx);k(DevLang-C%2B%2B);k(Tar