
windows
白话机器学习
10年IT从业经验,人工智能高级算法工程师、优快云博客专家、阿里云专家、《2023博客之星马龄赛道11-15年》第一名、《2023博客之星,城市赛道》长春TOP1,优快云付费资源项目实践专家
展开
-
程序中定义了大数组或需要很大栈内存时,出现stack overflow 错误的解决方法(vs2008)
原因是vs的默认栈空间的小是1M,如果程序需要的空间超过这个大小就出现Stack Overflow处理的方法是修改项目属性,调整栈的大小打开项目属性页对话框单击“链接器”文件夹(Linker)。单击“系统”属性页(System)。修改下列任一属性:堆栈提交大小(Stack Reserve Size)堆栈保留大小(Stack Commit Size)Reserve:栈原创 2013-04-24 19:22:27 · 3133 阅读 · 0 评论 -
C++ 命名管道 IPC
技术:IPC,RPC,Windows General主题:Named Pipe,Inter-process Communication概要:命名管道是一种进程间单工或双工的通信机制。它可以在管道服务器和一个或多个管道客户端间进行。客户端可以位于本机或互联网上的远程计算机。PIPE_ACCESS_INBOUND(呼入):Client (GENERIC_WRITE) ---> Se翻译 2013-05-02 15:48:03 · 2066 阅读 · 0 评论 -
C++ 动态链接库的两种调用方式
动态链接库不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数或是数据。只有在其它模块调用动态链接库中的函数时,它才发挥作用。Windows API中的所有函数都包含在DLL中。其中有3个最重要的DLL,Kernel32.dll,它包含用于管理内存、进程和线程的各个函数;User32.dll,它包含用于执行用户界面任务(如窗口的创建和消息的原创 2013-05-03 10:36:01 · 3959 阅读 · 1 评论 -
C++ 找到进程中所加载的某一模块的基地址
MEMORY_BASIC_INFORMATIONtypedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress; PVOID AllocationBase; DWORD AllocationProtect; DWORD RegionSize; DWORD State; DWORD Prot原创 2013-05-06 15:30:13 · 3167 阅读 · 0 评论 -
VS2008 应用程序配置不正确,未能启动该应用程序。重新安装程序可以修复此问题。解决方法
有时候我们把自己编译好的exe直接拷贝到别的电脑上使用时,如果那台电脑没装vs,一般程序无法运行提示:应用程序配置不正确,未能启动该应用程序。重新安装程序可以修复此问题。这是由于一般我们编译的程序都是使用的共享DLL,所以不一定保证其他机器上都有。如果使用静态DLL的话生成的程序可能会很大。这里有一个简单的方法,我也不知道具体原理首先设置工程为Release,否则Debug下可能提原创 2013-05-20 09:09:10 · 1419 阅读 · 0 评论 -
转载 _stdcall,_cdecl 的区别
http://kevinblog.iteye.com/blog/1176089需要区别__stdcall和__cdecl两者的区别;#define CALLBACK __stdcall#define WINAPI __stdcall#define WINAPIV __cdecl#define APIENTRY WINAPI#define APIPRIVATE _转载 2013-05-06 19:37:31 · 582 阅读 · 0 评论 -
API Hook基本原理和实现
hook是什么? windows系统下的编程,消息message的传递是贯穿其始终的。这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故事片中的“长江长江,我是黄河”一个含义。windows中定义的消息给初学者的印象似乎是“不计其数”的,常见的一部分消息在winuser.h头文件中定义。hook与消息有着非常密切的联系,它的中文含义是“钩子”,这样理解起来我们不难得出“h转载 2013-05-06 10:52:02 · 1638 阅读 · 0 评论 -
C++ Windows Hook 消息钩子 详解
本文完整测试工程的源码免积分下载地址:http://download.youkuaiyun.com/detail/zy_dreamer/5336484我们先来简单的了解一下基本概念:Hook是WINDOWS提供的一种消息处理机制,它使得程序员可以使用子过程来监视系统消息,并在消息到达目标过程前得到处理。HOOK链 WINDOWS提供了几种不同类型的HOOKS;不同的HOOK可以处理不同的消息。原创 2013-05-06 15:11:22 · 5442 阅读 · 1 评论 -
了解API编程
1.简单介绍API 应用程序接口它其实就是操作系统留给应用程序的调用接口。使得我们自己写的应用程序可以调用操作系统的功能。早在DOS下,API是以中断调用的形式提供的(INT 21h)。程序通过中断调用来使用操作系统功能。到了Windows中,系统API以函数调用方式提供。所有的API函数都包含在系统DLL中,是DLL的导出函数。直接通过调用API进行编程成为SDK编程。SDK原创 2013-05-27 09:02:30 · 556 阅读 · 0 评论 -
MFC中使用用户剪贴板(User clipboard in MFC)
原文地址:http://code.msdn.microsoft.com/windowsdesktop/MFCClipboard-3cca4de2MFC中使用用户剪贴板技术:MFC,Windows General主题:剪贴板MFC程序:MFCClipboard 工程概述使用:剪贴板是一系列的函数和消息的集合,能够让应用程序转移数据。由于所有的程序都有权访问剪贴板,数据可以很容翻译 2013-05-01 00:52:00 · 3385 阅读 · 0 评论 -
转载一个C#应用程序打包的详细教程,超详细!
点击打开链接转载 2014-03-11 10:18:26 · 950 阅读 · 0 评论 -
C++使用共享内存实现进程间通信
C++使用共享内存实现进程间通信文件映射是一种实现进程间单向或双向通信的机制。它允许两个或多个本地进程间相互通信。为了共享文件或内存,所有的进程必须使用相同的文件映射的名字或是句柄。为了实现共享文件,第一个进程先调用CreateFile方法。接下来调用CreateFileMapping方法来创建一个文件映射对象。并为文件映射指明一个句柄和名称。由于事件,信号,互斥对象和文件映射等这些内核对原创 2013-05-02 20:00:08 · 8634 阅读 · 0 评论 -
C++ 自动化操作Word
本文事例工程源码面积分下载地址:http://download.youkuaiyun.com/detail/zy_dreamer/5321760介绍:这个事例演示了如何写C++代码来创建并操作一个MicrosoftWord实例,创建一个新文档,插入一个段落,保存文档,关闭Word程序并清理使用的COM资源。利用VC++实现有三种基本方法:1.使用#import指令和智能指针操作Word翻译 2013-05-02 10:42:45 · 6479 阅读 · 1 评论 -
C++ 设置桌面壁纸
定义一个函数来实现主要的功能:HRESULT SetDesktopWallpaper(PWSTR pszFile, WallpaperStyle style);WallpaperStyle是一个枚举类型,定义了壁纸显示的类型enum WallpaperStyle{ Tile,//平铺 Center,//居中 Stretch,//拉伸 Fit,原创 2013-05-02 21:47:17 · 10775 阅读 · 1 评论 -
ShellExecute, WinExec, CreateProcess区别
ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。 有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。 ShellExecute函数原型及参数含义如下: ShellExecute( HWND hwnd, //父窗口句柄 (转载 2013-04-16 23:11:05 · 1158 阅读 · 0 评论 -
利用环境变量向子进程传递一个参数
父进程调用下面函数,创建一个子进程并设定环境变量bool CreateChild(TCHAR* pText){const int BUFSIZE=256; TCHAR chNewEnv[BUFSIZE]; LPTSTR lpszCurrentVariable; DWORD dwFlags = 0; TCHAR szAppName[] = TEXT("child.exe")原创 2013-04-16 19:42:00 · 1182 阅读 · 0 评论 -
进程间通信的方法
1 文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。 Win32 API允许多个进程访问同一文件映射对象,各个进程在它自己的地址空间里接收内存的指针。通过使用这些指针,不同进程就可以读或修改文件的内容,实现了对文件中数据的共享。 应用程序转载 2013-04-18 16:52:48 · 499 阅读 · 0 评论 -
MFC单文档实现文件拖拽功能
其实实现的原理很简单,就是让程序响应和处理WM_DROPFILES消息。主要用到三个函数:VOID DragAcceptFiles( HWND hWnd, BOOL fAccept);UINT DragQueryFile( HDROP hDrop, UINT iFile, LPTSTR lpszFile, UIN原创 2013-04-27 14:54:30 · 2634 阅读 · 0 评论 -
线程池原理和实现
通常我们使用多线程的方式是,需要时创建一个新的线程,在这个新的线程里执行特定的任务,然后在任务完成后退出。这在一般的应用里已经能够满足我们应用的需要,毕竟我们并不是什么时候都需要创建大量的线程,并在它们执行一个简单的任务后销毁。但是在一些web、email、database等应用里,比如彩铃,我们的应用在任何时候都要准备应对数目巨大的连接请求,同时,这些请求所要完成的任务却又可能非常的简单,即转载 2013-04-26 21:56:52 · 649 阅读 · 0 评论 -
捕获图片,捕获桌面屏幕,然后存储到文件中
原文地址:http://msdn.microsoft.com/EN-US/library/windows/desktop/dd183402(v=vs.85).aspx原文内容:You can use a bitmap to capture an image, and you can store the captured image in memory, display it at a翻译 2013-04-30 23:47:23 · 1624 阅读 · 0 评论 -
PE结构详解2 IMAGE_OPTIONAL_HEADER32 结构
接着我们来谈谈 IMAGE_OPTIONAL_HEADER 结构,正如名字的意思,这是一个可选映像头,是一个可选的结构。但是呢,实际上上节课我们讲解的 IMAGE_FILE_HEADER 结构远远不足以来定义 PE 文件的属性。因此,这些属性在 IMAGE_OPTIONAL_HEADER 结构中进行定义。因此这两个结构联合起来,才是一个完整的 “PE文件结构” 。t转载 2013-05-01 17:01:19 · 1203 阅读 · 0 评论 -
PE 格式详解1 PE Header
出自:http://blog.fishc.com/1551.html感谢小甲鱼的辛苦工作,给我提供了这么好的学习资源PE Header 是PE相关结构NT映像头(IMAGE_NT_HEADER)的简称,里边包含着许多PE装载器用到的重要字段。下边小甲鱼将为大家详细讲解哈~首先是IMAGE_NT_HEADERS 结构的定义:(啥?结构不会,先看看小甲鱼童鞋的《零基础入门学习C语言》关转载 2013-04-30 15:16:32 · 1722 阅读 · 0 评论 -
C++ WM_COPYDATA 实现进程通信
完整工程可以到:http://download.youkuaiyun.com/detail/zy_dreamer/5385153 下载基于MFC用于存储数据的自定义结构体:struct MSG_STRUCT { wchar_t msg[256];};发送端,发送按钮响应事件的代码void CSendWM_COPYDATADlg::OnBnClickedSendmessag原创 2013-05-15 21:49:43 · 1778 阅读 · 0 评论 -
C++创建一个动态链接库
C++创建一个动态链接库动态链接库是一个模块,它包含了一些函数和数据,能够被其他模块进行调用(其他程序或DLL)。下面演示如何将函数,数据和类导出供其他可执行文件调用。导出的数据,函数,和类如下// Global Dataint g_nVal1int g_nVal2// Ordinary Functionsint __cdecl GetStringLength1原创 2013-05-02 20:58:26 · 3089 阅读 · 0 评论 -
c# 当窗体设置成无边框后,如何实现拖动效果,简洁实用
在做一个类似QQ的消息提醒功能,就是弹出一个消息提示框的那种效果,需要将将FormBorderStyle设置为none,但是窗体无法进行拖动。解决的办法是:1.在窗体的.cs文件的窗体类中添加如下代码 [DllImport("user32.dll")] public static extern bool ReleaseCapture();原创 2014-03-05 09:57:42 · 2667 阅读 · 0 评论