自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 web远程访问Windows桌面(二)

另一种web远程方案Guacamole及各种远程方案的对比

2022-08-28 14:15:28 5598 1

原创 调用Windows远程桌面应用

Windows使用远程终端应用程序

2022-05-26 16:39:35 2588

原创 Windows C++实现文件共享

一、背景在Windows上做应用开发,有时会遇到一种场景:要使用的文件放在其他机器上,由另外的机器取访问存放文件的电脑。存放文件的节点系统可以是Windows、Linux或其他系统,但为了用户能方便查看文件,一般还是会选择Windows系统。一台硬件低配的机器即可,搭载多张磁盘,做成磁盘阵列来实现数据冗余(以防数据丢失)。二、数据访问接下来要考虑的是,把数据放到其他机器上后,要如何访问到那些数据呢?方法很多!比如在存放文件的系统上搭载一个ftp或者http服务器。但这种方案有个很明显的问

2022-03-11 08:22:54 2458

原创 Windows 窗口工作站(window station)

Windows 窗口工作站(window station)

2021-12-14 16:32:56 2156

原创 web远程访问Windows桌面

一、远程桌面的方法Windows远程桌面连接可以使用微软自带的mstsc,还有比较常用的teamviewer、toDesk、向日葵和vnc等。其中teamviewer是商用软件,现在需注册登录,个人感觉不是很好用。这些都是客户端桌面软件,这边要说的是,采用web浏览器的方式连接远程桌面。二、web远程方案这边要说的是,使用开源代码的方式实现:mstsc,用的是node框架,其使用的是node-rdp。github地址:GitHub - citronneur/mstsc.js: A pur

2021-11-12 16:15:44 23814

原创 mstsc.js远程桌面NODE_RDP_PROTOCOL_X224_NEG_FAILURE错误

node使用mstsc.js实现远程桌面连接,在Windows 10专业版和Windows server 2019 标准版上一切正常,但在连接Windows 2016时,出现NODE_RDP_PROTOCOL_X224_NEG_FAILURE()的错误提示。经查找资料和测试,原来是mstsc.js使用了node-rdpjs,而node-rdpjs当前仅支持ssl层,不支持RDP层,所以需要在组策略中设置使用的安全协议。步骤如下:编辑组策略 --- 计算机配置 --- 管理模板 --- Windows

2021-08-07 09:26:06 2466 1

原创 Error: Can‘t find Python executable “python“, you can set the PYTHON env variable

nodejs在使用npm拉取工程依赖robot-js时,报错提示找不到python,找不到vs编译环境,但事实上机器上已经安装了python和vs。开始以为是没添加环境变量,导致node找不到安装位置导致的,但添加环境变量后,依旧提示相同的错误。查看robot-js的依赖信息,指明robot-js使用的是python2.7。安装python2.7,添加系统环境变量,结果依旧提示错误。几经搜索,得到一个解决方法:运行下面代码:npm install --global --production

2021-08-06 18:09:28 169

原创 Windows 使用Redis

Redis官方并没有支持Windows版本不过微软对Redis做了,以适用于Windows平台,已将源码开源与Github,目前版本是3.2.100,稳定版本为3.0.504。GitHub地址为:https://github.com/microsoftarchive/redis/releases对源码checkout后,用VS2019会编译不过,不过只要稍加修改即可。需要注意的...

2020-04-18 22:27:29 107 1

转载 windows 系统服务访问网络共享资源

普通用户进程可以在设置好的网络共享中直接通过IP或电脑用户名访问共享的资源,但是在系统服务下不能直接访问,需要通过地址映射到本地才可进行访问。以下是实现代码(转载自:https://blog.csdn.net/venice0708/article/details/85213433)#include <Windows.h>#include <tchar.h&gt...

2020-04-09 18:42:45 539

原创 Inno Setup 制作自动安装脚本

需求如标题,即用inno setup 制作一个双击安装包后,就可以自动执行安装的安装包,不需要更多的人为介入。在inno setup的[setup] session中设置了各种选项,但生成的安装包运行后都会有一个安装向导(如下图),需要人为点击一次按钮。网上搜索了好久,终于有个符合要求的方案。提供主要脚本[setup]DisableDirPage=yesDefaultGrou...

2020-02-20 21:48:07 1429

原创 chromuim内核video audio标签自动播放

chromuim 66 版本以后的内核,在默认情况下<video>和<audio>标签已经不能自动播放了。需要用户点击触发后才播放,或者要把播放设置为静音模式才可自动播放。但很多情况下,我们希望用户看到这个标签后,就可以自动播放标签资源。还好,内核预留了设置开关。我们可以使用 --autoplay-policy=no-user-gesture-required 来关...

2019-06-13 14:49:54 1536

原创 C++  实现的快速排序算法

快速排序算法思想的资料很多,这边只展示用C++ 实现的快速排序算法:​​#include <stdio.h>#include <stdlib.h>void quickSort(int arr[], int nLen){ if (nLen <= 1) { return; } int n = arr[0]; ...

2019-05-17 10:15:01 292

原创 基于socket实现http服务器

要实现http服务器,首先得了解http协议。同样,要用socket实现服务器,那就得熟悉socket了。最近的项目中要实现一个类似http服务器的功能,项目是Windows平台下。心血来潮,顺便在Linux下也实现了一个简单server。目前,仅支持GET、HEAD和POST方法,待有空时继续完善。使用socket,采用多线程处理每个客户端的连接请求,未处理客户端connection...

2019-05-13 16:28:15 1435

转载 Fiddler 抓包https配置 提示creation of the root certificate was not successful 证书安装不成功

在使用Fiddler抓包时,我们有时需要抓https协议的包,这种需要配置一下 开启监控https才可以首先 找到Tools——&gt;Options 在弹出的菜单中 选择https项  勾选捕捉https  这样配置完OK之后 一般会弹窗提示安装证书,点击安装,然后重启Fiddler即可。但有时候没有弹窗安装证书或根本就没有提示,这种情况一般在Win7中较多出...

2018-12-20 11:13:12 319

原创 兼容模式运行程序

在运行程序时,为了在win Vista以上版本弹出UAC窗口,我们往往设置程序不使用管理员权限打开。因为在程序在一定目录下,不使用管理员运行也是能达到自身的目的(不读写磁盘),但在诸如系统盘下,我们的程序可能就运行的不好,需要管理员权限才能正常运行,但在程序中设置了管理员权限运行,用户电脑没关闭UAC的话,运行又会出现烦人的弹窗。所以,我们可以先判断,如果用户电脑有打开UAC,而且程序运行的在磁盘...

2018-07-17 11:18:08 1763

转载 一些有用的注册表参数(关于IE的)

;在IE中添加网际快车右键菜单 [-HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt] [HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt\\] @=- [HKEY_CURRENT_USER\\Software\\Microsoft...

2018-07-14 10:38:27 2333 1

转载 chtmlview C++交互

文章来源:https://blog.csdn.net/andycoder/article/details/258762211、创建一个继承自CHtmlView的类;2、构造函数中添加CNewHtmlView::CNewHtmlView(){ // 允许自动化 EnableAutomation();}3、重载 virtual HRESULT OnGetExternal( LPDISPATCH *lp...

2018-07-02 16:28:30 917

原创 为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容

在开发时,会遇到是要HTML来做UI,是要js与C++进行交互。在加载完页面后,一些电脑中会出现“为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容”(用IE打开,自己程序里面用的是chtmlview是看不到的),这导致页面中用于与C++代码交互的按钮事件不能在C++代码中接收。这是因为浏览器的安全限制造成的,可使用如下方法:因为HTML页面是本地的,我们可以在页面...

2018-07-02 16:23:40 10321

转载 代码实现pe文件图标替换

最近,好多人问我如何通过写个小程序,动态替换可执行文件的图标。这个问题看起来虽小,但却涉及到很多问题。网上也只能找到一些零零散散的资料,却没有详细的指导性文档。所以我决定把这个问题写下来,以方便大家查阅。  EXE文件图标的替换有很多方法,例如用一个EXE文件的图标替换另外一个EXE文件的图标;用一个ICO文件内的图标替换EXE文件的图标。这两种情况替换的方法不太相同,下面会详细讨论。  EXE文...

2018-05-17 14:31:13 2263 1

翻译 获取进程命令行参数

#include &lt;Winternl.h&gt;void GetProcessCommandLine(DWORD pid){ pid = 1688; HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); if (INVALID_HANDLE_VALUE != hProc) { HANDLE hNewProcess = NUL...

2018-04-14 15:30:05 4353 2

翻译 在非控制台程序中开启控制台进行信息的输出

有些时候,我们需要在程序运行的时候查看相关的信息,但又不想输出懂日志文件中,这时可以用控制台输出的方式进行显示信息void InitConsoleWindow(){    int nCrt = 0;    FILE* fp;    AllocConsole();    nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPU

2015-09-24 08:06:50 798 1

转载 c++与js脚本交互,C++调用JS函数/JS调用C++函数

一、javascript调用c++,方法有两种方案1:1.html编写TESTfunction TestFunc(){ alert("TestFunc");}  2.C++的CHtmlView类重写OnBeforeNavigate2函数void CAddGoogleMap_CHtmlView::On

2014-06-10 13:38:10 11010 5

原创 VC 用微软插件或CHtmlView 开发浏览器时如何指定使用的IE内核版本

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

2014-05-27 19:26:19 5502 2

转载 VC 实现Windows 文件监控

应用层vc实现三种文件监视方法下面介绍三种非驱动实现文件监视的方法。=================================================================通过 未公开API SHChangeNotifyRegister 实现==================================================

2014-02-17 11:54:30 2482

原创 OpenProcess 返回拒绝访问的错误提示

有时需要使用OpenProcess来查看进程的相关信息,或者结束进程的运行,但是会碰到“拒绝访问”的错误,这时需要提升进程的权限为Debug权限。BOOL EnableDebugPrivilege(){  HANDLE hToken;  BOOL fOk=FALSE;  if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_P

2014-02-07 11:25:57 8216

原创 VC 判断进程是否是以管理员权限运行,并且判断是否是用户进程而非服务进程

在Win7中,我们有时需要判断哪些进程是以管理员权限运行的,有时需要判断该进程是服务进程还是用户进程。下面这段代码可以实现在Win7中获取一个以管理员权限运行的客户进程。BOOL FindUacToken(HANDLE &hToken){HANDLE hProcessSnap = NULL;BOOL bRet= FALSE;PROCESSENTRY32pe32 =

2014-01-17 20:10:31 5424

翻译 VC 用服务进程开启有UI的进程和写注册表HKEY_CURRENT_USER子键的问题

有时我们需要通过服务进程来启动某个进程,且该被启动的进程有UI,或者需要用服务进程来写HKEY_CURRENT_USER子键,此时我们就会碰到一个问题:被启动的进程看不到UI,但在进程列表中却能看到该进程;而HKEY_CURRENT_USER键则必须用当前用户才能写成功。如果使用CreateProcess来创建进程的话,新创建的进程和服务程序依然是相同的用户身份,还是无法达到目的,只有使用Cr

2014-01-13 19:45:53 1979

转载 VS2008提示无法打开包括文件:“afxcontrolbars.h”解决办法

我发生过几次这个问题,都是以前用了vs2008SP1写的程序,现在用没有SP1的vs2008编译引起的。解决它的根本方法当然就是装SP1,但是这个SP1装起来需要1个钟头,很麻烦。而且装上要耗掉1G多硬盘空间。我的程序是对话框程序,和那些高端的controlbar根本没什么关系,我猜大概改源代码也可以。后来我尝试了一下,直接在stdafx.h中改了一处,把#include  注掉,后面加了一行

2014-01-08 20:22:41 832

原创 Win7 PCA 弹窗问题

VC开发应用程序,有时碰到在win7下会出现关闭程序后,系统会弹出PCA窗体(程序兼容性助手)。当我们以某个兼容模式运行该程序,退出后就不会出现改提示窗。查过好些资料,有的说是运行的库冲突导致的,可能是吧。这边只说下我的解决方法:     version="1.0.0.0"     processorArchitecture="X86"

2014-01-04 15:28:33 1676

转载 vc内存泄漏定位

Detected memory leaks!Dumping objects ->{98500} normal block at 0x05785AD0, 152 bytes long.Data: 3C AC 4E 10 00 00 00 00 BC A4 4E 10 78 B6 37 00Object dump complete.解决方法:在程序开始启动的地方(足够前的地方

2013-12-30 13:35:41 789

翻译 VC 创建Windows服务程序2

文章来源:http://www.vckbase.com/index.php/wv/1391本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服

2013-12-24 13:34:58 1018

翻译 VC 创建Windows服务程序

本文章来源于:http://www.vckbase.com/index.php/wv/1166http://www.vckbase.com/index.php/wv/1391本文描述如何用 Visual C++ 创建 Windows NT 服务程序。创建该服务仅用到一个 C++ 类,这个类提供服务与操作系统之间一个简单的接口。使用这个类实现自己的服务非常简单,只要改写少数几个基类中的虚

2013-12-24 12:49:07 7793

翻译 VC 添加一个选择的目录

int CALLBACK BrowseCallbackProc(HWND hwnd, UINT msg, LPARAM lp, LPARAM pData)   {TCHAR szDir[MAX_PATH] = TEXT("C:\....");if (msg == BFFM_INITIALIZED )   //初始化时选定一个目录{   ::SendMessage(hwnd,

2013-12-13 14:20:38 1085

原创 VC 打开文件框选择文件

VC中,选择文件的方法:1. MFC下:CFileDialog fDlg(TRUE, _T(".apk"), NULL, OFN_HIDEREADONLY | OFN_FORCESHOWHIDDEN | OFN_PATHMUSTEXIST | OFN_ALLOWMULTISELECT, _T("Apk Files(*.apk)|*.apk|All Files(*.*)|*.*||"

2013-11-07 10:41:21 1244

原创 判断PC使用的默认浏览器方法

要知道PC使用的是哪个默认浏览器,可以从注册表中读取相应键值来判断。HKEY_CLASSES_ROOT\http\shell\open\command,但是从这个键值中读取的值往往与设置的默认浏览器不符。在我们修改了默认浏览器后,这个值并不总是发生改变。这样,我们从该值去做判断,必然出错。我们可以从HKEY_CURRENT_USER\Software\Microsoft\Windows\She

2013-11-04 10:46:15 1255

原创 使用STL::map来实现函数映射调用

有时我们编写一个C++类,在处理函数调用时会使用一串字符匹配来调用相应的函数。这时我们可以使用map来实现,字符串作为KEY,函数指针作为值。采用这种方式,在构造map时,还有调用对应函数时,可能出现一些问题。这边记录了一个例子,是本人在解决问题后所记录下来的:先定义这个类:class ClassName{....protected:void Fun1();void

2013-10-30 17:44:27 1727 1

翻译 C++解析JSON的好文章

使用C++处理JSON数据交换格式一直以来都是做windows桌面应用软件,之前也从未接触过json,但是由于工作需要,要与服务器进行交互,服务器字符使用的是json,这就需要对其进行解析...下面是从网上找来的文章,挺好的,只需按照说明进行试验就明白json库要如何使用了。首先,附加下自己的测试代码...int _tmain(int argc, _TCHAR*

2013-10-17 10:25:07 790

翻译 C++与Flash的交互

1. 新建一个MFC Dialog程序2. 添加一个Flash控件 3. 把Flash控件添加一个变量 4. 在OnInitDialog()中添加载.swf文件[cpp] view plaincopy// CCppFlashDlg 消息处理程序      BOOL

2013-09-17 11:22:05 894

翻译 VC 链接时new和delete运算符已经在 LIBCMTD.lib 中定义解决方法

error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj)

2013-08-14 14:02:49 5410

原创 MFC 检测USB接口设备连接变化

添加 WM_DEVICECHANGE 消息afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData);BEGIN_MESSAGE_MAP(Cwndclass, Cbaseclass)ON_WM_DEVICECHANGE()END_MESSAGE_MAP()// 获取盘符LONG

2013-08-13 18:45:19 5551

用 C++ 创建简单的 Win32 服务程序

《用 C++ 创建简单的 Win32 服务程序》一文的例子代码。描述如何用 Visual C++ 创建 Windows NT 服务程序。创建该服务仅用到一个 C++ 类,这个类提供服务与操作系统之间一个简单的接口。使用这个类实现自己的服务非常简单,只要改写少数几个基类中的虚拟函数即可。文中有三个源代码参考例子:这是其中之一—— NTService:是一个简单的 Win32 服务,它就是用本文所描述的方法建立的; 其余两个分别为: NTServCpl:是一个控制面版程序,用来控制 NTService 服务; NTServCtrl:是一个独立的程序例子,用它可以监控某个 Win32 服务; 资源来自:http://www.vckbase.com/index.php/cv/480

2013-12-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除