首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    Path API大全

    LPTSTR PathGetArgs(LPCTSTR pszPath) 功能:从路径中分析参数 例如:LPTSTR pszParam = PathGetArgs( “notepad.exe c:// pszPath); 功能:删除路径中带有的参数 LPTSTR PathRemoveBackslash(LPTSTR lpszPath); 功能:删除路径结尾多余的’/’符号 void PathRemoveBlanks (LPTSTR lpszString); 功能:删除字符串头尾的空格 void PathRemoveExtension( LPTSTR pszPath); 功能:删除路径后面的文件扩展名 BOOL PathRemoveFileSpec( LPTSTR pszPath); 功能:删除路径后面的文件名和’/’符号。 hello.txt BOOL PathStripToRoot( LPTSTR szRoot ); 功能:从路径中分析出盘符 void PathUnquoteSpaces( LPTSTR lpsz

    72130编辑于 2022-09-15
  • 来自专栏全栈程序员必看

    Windows进程间通信—命名管道

    strsafe.h> #define BUFSIZE 4096 DWORD WINAPI InstanceThread(LPVOID); VOID GetAnswerToRequest(LPTSTR , LPTSTR, LPDWORD); int _tmain(VOID) { BOOL fConnected; DWORD dwThreadId; HANDLE hPipe, hThread; LPTSTR lpszPipename = TEXT("\\\\. chRequest, LPTSTR chReply, LPDWORD pchBytes) { _tprintf( TEXT("%s #define BUFSIZE 512 int _tmain(int argc, TCHAR *argv[]) { HANDLE hPipe; LPTSTR

    1.8K10编辑于 2022-07-18
  • 来自专栏jiajia_deng

    利用结构化异常实现动态分配虚拟内存

    #include <tchar.h> #include <windows.h> #define PAGELIMIT 80 LPTSTR lpNxtPage; // 用于记录已经提交的虚拟内存的位置 // 让程序继续执行 return EXCEPTION_CONTINUE_EXECUTION; } void main(void) { LPVOID lpvBase; LPTSTR = VirtualAlloc(NULL, PAGELIMIT * dwPageSize, MEM_RESERVE, PAGE_NOACCESS); lpPtr = lpNxtPage = (LPTSTR GetLastError()); } } bSuccess = VirtualFree(lpvBase, 0, MEM_RELEASE); } void ErrorExit(LPTSTR

    32320编辑于 2023-10-21
  • 来自专栏making

    阐述heco火币链DAPP项目系统开发编写方案

    封装了智能合约运行环境的相关软件应用层:为智能合约其他计算机的进程通信服务CString       theString(       "This       is       a       test "       );LPTSTR       lpsz       =(LPTSTR)(LPCTSTR)theString;          char       *buf;      CString       str       例如:CString       theString(       "This       is       a       test "       );LPTSTR       lpsz       例如:CString       s(_T( "This       is       a       test       "));LPTSTR       p       =       s.GetBuffer

    61860编辑于 2022-11-09
  • 来自专栏Eureka的技术时光轴

    Win32 API编程:WinMain无法重载函数或_tWinMain无法重载

    include "tchar.h" int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR ), TEXT( "haha" ), MB_OK); return 0; } 1 当采用_tWinMain作为入口函数时,第三个参数类型应定义为 LPTSTR ,表示 WCHAR *型 #include

    1.7K20发布于 2019-07-24
  • 来自专栏全栈程序员必看

    BSTR LPSTR LPWSTR CString VARIANT COleVariant variant t CC

    在VC++中,还有类似的字符串类型,如LPTSTR、 LPCTSTR等,它们的含义如图2所示。 一般地,还有下列类型定义: #ifdef UNICODE typedef LPWSTR LPTSTR; typedef LPCWSTR LPCTSTR; #else typedef LPSTR LPTSTR 例如: CString theString( “This is a test” ); LPTSTR lpsz =(LPTSTR)(LPCTSTR)theString; 方法二,使用strcpy。 例如: CString s(_T(”This is a test “)); LPTSTR p = s.GetBuffer(); // 在这里添加使用p的代码 if(p ! 将其强制转换成LPTSTR去掉const,是极为危险的! 一不留神就会完蛋!

    1.6K20编辑于 2022-09-09
  • 来自专栏Java架构师必看

    打印自定义纸张大小

     CharSet=CharSet.Auto)]    internal struct structPrinterDefaults   {    [MarshalAs(UnmanagedType.LPTStr SuppressUnmanagedCodeSecurityAttribute()]   internal static extern bool OpenPrinter([MarshalAs(UnmanagedType.LPTStr   internal static extern bool DeleteForm(          IntPtr phPrinter,    [MarshalAs(UnmanagedType.LPTStr )]    string pDrive,    [MarshalAs(UnmanagedType.LPTStr)] string pName,    [MarshalAs(UnmanagedType.LPTStr / handle to parent window           HANDLE hPrinter,         // handle to printer object          LPTSTR

    1.1K30发布于 2021-03-22
  • 来自专栏欧阳大哥的轮子

    Windows服务编程

    这个函数接受一个SERVICE_TABLE_ENTRY结构数组,这个结构定义如下: typedef struct _SERVICE_TABLE_ENTRY { LPTSTR lpServiceName 它的格式如下: VOID WINAPI ServiceMain( DWORD dwArgc, // number of arguments LPTSTR *lpszArgv // array SC_HANDLE hSCManager, // handle to SCM database LPCTSTR lpDisplayName, // display name,大小写不敏感 LPTSTR lpBinaryPathName; LPTSTR lpLoadOrderGroup; DWORD dwTagId; LPTSTR lpDependencies; LPTSTR 这是lpInfo为一个 typedef struct _SERVICE_DESCRIPTION { LPTSTR lpDescription; //描述字符串,不能超过1024个字符

    2.2K31发布于 2018-10-25
  • 来自专栏c++ 学习分享

    如何在应用程序中调用CMD并返回运行结果

    notification handler code here UpdateData(); CString cs(m_childProcess); cs += m_cmd; LPTSTR lpsz = (LPTSTR)(LPCTSTR)cs; m_editoutput = ""; UpdateData(FALSE); SECURITY_ATTRIBUTES sa

    2.2K10编辑于 2023-07-06
  • 来自专栏全栈程序员必看

    CreatePipe()等函数创建管道来操纵控制台

    VOID ); VOID WriteToPipe( VOID ); VOID ReadFromPipe( VOID ); VOID ErrorExit( LPTSTR ); VOID ErrMsg( LPTSTR , BOOL ); DWORD main( int argc, char *argv[]) { WriteFile(hStdout, chBuf, dwRead, &dwWritten, NULL)) break ; } } VOID ErrorExit ( LPTSTR

    42220编辑于 2022-09-14
  • 来自专栏逆向技术

    遍历进程,获取当前进程下进程的路径.(获得全路径)

    string> #include <tchar.h> #include <Psapi.h> #pragma comment (lib,"Psapi.lib") BOOL DosPathToNtPath(LPTSTR pszDosPath, LPTSTR pszNtPath) { TCHAR szDriveStr[500]; TCHAR szDrive[3

    2.8K10发布于 2019-05-25
  • 来自专栏全栈程序员必看

    Windows内核之进程基本含义以及进程的创建「建议收藏」

    获取载入的模块(exe,dll)的方法: GetModuleFileName(HMOUDLEhModule,LPTSTR lpFileName,DWROD nSize); 当hModule的值为NULL 4 进程的命令行 LPTSTR GetCommandLine();获取命令行字符串 5 进程的环境变量 每一个进程都有一个与它相关的环境变量块,环境块是进程的地址空间中分配的一个内存块 value for variable); <3> DWORD GetEnvironmentVariable( LPCTSTR lpName, // environment variable name LPTSTR <1> DWORD GetCurrentDirectory( DWORD nBufferLength, //size of directory buffer LPTSTR lpBuffer 8 创建进程 BOOL WINAPI CreateProcess( _In_opt_ LPCTSTR lpApplicationName, _Inout_opt_ LPTSTR lpCommandLine

    1K10编辑于 2022-07-10
  • 来自专栏MasiMaro 的技术博文

    使用FormatMessage函数编写一个内核错误码查看器

    FORMAT_MESSAGE_FROM_HMODULE, Hand, dwErrCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR GetDlgItem(IDC_EDIT_ERRMSG)->SetWindowText((LPTSTR)lpMessageBuffer); // Free the buffer allocated

    81520发布于 2018-08-31
  • 来自专栏技术杂记

    [ Windows 10 x64中的RFG(Return Flow Guard)技术研究 ]7

    LPTSTR WINAPI lstrcpy( _Out_ LPTSTR lpString1, _In_ LPTSTR lpString2);

    47010编辑于 2022-06-29
  • 来自专栏程序员互动联盟

    【Windows编程】系列第八篇:创建通用对话框

    lStructSize; HWND hwndOwner; HINSTANCE hInstance; LPCTSTR lpstrFilter; LPTSTR lpstrCustomFilter; DWORD nMaxCustFilter; DWORD nFilterIndex; LPTSTR lpstrFile; DWORD nMaxFile; LPTSTR lpstrFileTitle; DWORD nMaxFileTitle OFN_PATHMUSTEXIST|OFN_OVERWRITEPROMPT; if (GetOpenFileName(&ofn))//GetOpenFileName, GetSaveFileName { LPTSTR

    1.6K140发布于 2018-03-14
  • C/C++ 实现远程代码注入

    stdcall *MyMessageBox)(HWND, LPCTSTR, LPCTSTR, UINT); DWORD (__stdcall *MyGetModuleFileName)(HMODULE, LPTSTR stdcall *)(LPCTSTR))pData->dwGetModuleHandle; MyGetModuleFileName = (DWORD (__stdcall *)(HMODULE, LPTSTR

    77610编辑于 2022-12-28
  • 来自专栏jiajia_deng

    VC 实现将程序从任务栏解锁或锁定到任务栏

    FALSE /* /************************************************************************/ BOOL TaskbarPin(LPTSTR lpPath, LPTSTR lpFileName, BOOL bIsPin = FALSE) { BOOL bRet = FALSE; HMENU hmenu = NULL;

    1.3K10发布于 2020-01-05
  • 来自专栏方亮

    一种注册表沙箱的思路、实现——注册表的一些基础知识

    return 0; } typedef BOOL (WINAPI* PtrConvertSidToStringSid)( PSID Sid, LPTSTR PtrConvertSidToStringSid)GetProcAddress( GetModuleHandle(L"Advapi32.dll"), "ConvertSidToStringSidA" ); LPTSTR MySid = NULL; dwPtr( tagTokenInfo->User.Sid, (LPTSTR*)&MySid ); printf("sudami's PC Name:\n

    1.2K20发布于 2019-01-16
  • 来自专栏全栈程序员必看

    在MFC下面实际演示CCriticalSection 的使用

    UINT MessageThread1(LPVOID pParam) { Gsz_CriticalSection.Lock(); LPTSTR pMessage = _T("Thread1 Gsz_CriticalSection.Unlock(); return 0; } UINT MessageThread2(LPVOID pParam) { Gsz_CriticalSection.Lock(); LPTSTR

    86120编辑于 2022-09-06
  • C/C++ 实现枚举网上邻居信息

    dwScope; DWORD dwType; DWORD dwDisplayType; DWORD dwUsage; LPTSTR lpLocalName; LPTSTR lpRemoteName; LPTSTR lpComment; LPTSTR lpProvider

    56110编辑于 2023-12-06
领券