本人独立博客http://xcroot.com/

随笔分类 -  编程开发

摘要:最近我的VS2010不知道怎么回事,平时用的好好的,近期竟然出现了所谓的LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏头痛万分,查了各种资料一直无解,今天为了封装资源,嵌入清单,所以不惜血本仔细找了下,终于有解决方案了。平时我们都是将 项目-->项目属性-->配置属性-->连接器-->清单文件-->嵌入清单 中的“是”改为“否”,不让他将清单嵌入,自然也用不着转换了,所以轻松编译。虽然麻烦点,每次新建项目都要设置,但是总比不能编译强吧。但是这次,不可以了,因为我的程序要加写rc,必须带清单才能正常使用。所以这种 阅读全文
posted @ 2014-01-18 17:49 CRoot 阅读(42782) 评论(4) 推荐(5)
摘要:为了在某计算机上建立一个隐蔽的Wifi,所以面对可恶的托盘图标,令我不得不考虑写个程序将其Hide掉,以免后患。于是开始了大量的谷歌与 百度,看下前人是如何去做的。站在巨人的肩膀不是看得更远嘛。首先我们了解到托盘区似乎是个窗口性质的东西,于是乎,操起Spy++查查到底是什么情况。很清晰的窗口所属结构,只要我们一次通过FindWindow()和FindWindowEx()依次从窗口类为Shell_TrayWnd ->SysPager ->ToolbrWindow32,得到最终句柄,然后通过发送 TB_BUTTONCOUNT消息得到托盘窗口TBBUTTON的个数 -> 通过得到总数,遍 阅读全文
posted @ 2013-12-29 17:38 CRoot 阅读(5786) 评论(2) 推荐(2)
摘要:近期开发公司商城,为了简化开发用了V5Shop网店程序。本来预计一个月完工,哪知道出现一堆问题大大增加了我的工作量(早知道还不如全部自己写了)。破V5Shop真不地道,说是免费的,结果程序一大堆问题,怀疑V5就是故意留的bug,就是让你花钱去买它的程序,你越是这样,我越是不会花钱。问题描述:会员中心密码修改、官码保护修改、支付模块等都有报错,提示找不到方法,Reflector查看源代码发现根本就没那个方法。去官方论坛发现有人提这个问题,管理员回复是上次更新时修改了程序,说是更新包将在近期正式发布,然后在回复中附带了更新文件。我没V5Shop论坛帐户,几个月前就注册了帐户到现在都没审核通过(估计 阅读全文
posted @ 2013-12-26 16:58 CRoot 阅读(698) 评论(0) 推荐(0)
摘要:最近不想用MFC写东西了,有没有安装Qt和其他图形化开发环境,只能捣鼓API了。于是乎,就有了以下的学习--首先,老套的创建个Windows窗口,由于自己有点小懒,就直接用Hello Word的源码了。#include #include // 窗口过程函数LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain( HINSTANCE hInstance, // handle to current inst... 阅读全文
posted @ 2013-12-21 23:40 CRoot 阅读(2220) 评论(0) 推荐(2)
摘要:android中定义的dimension单位有以下这些:px(Pixels ,像素):对应屏幕上的实际像素点。in(Inches ,英寸):屏幕物理长度单位。mm(Millimeters ,毫米):屏幕物理长度单位。pt(Points ,磅):屏幕物理长度单位,1/72英寸。dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。dip:与dp相同,多用于Google示例中。sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。尽量使用dp作为空间大小单 阅读全文
posted @ 2013-12-14 13:13 CRoot 阅读(267) 评论(0) 推荐(0)
摘要:今天大师兄放出了自己用PHP写的KTV点歌系统,注明,欢迎调戏,于是乎就尝试了下。地址就不上了,到现在没补漏洞,我可不想被大师兄K……首先试试JavaScript脚本能否恶搞下来个最基础的警告框吧!突然跳出写这么长,作死么?小屌丝已存在!无语的节奏翻一番前人留下的痕迹哔a_href_=_"#"哔我试试好用不哔/a哔哔哔哔哔哔哔爱哔php?_?哔中二的少年九妹我试点一下看看王妃sss哔h1哔有人植入乱码哔/h1哔小白杨????哔?phpinfo();?哔呵呵哔h2哔sb荣哔/h2哔哔似乎进行了空格等敏感字符的过滤看样子此路不通了---仔细思考下 嗯?没有验证码,啊哈,可以利用 阅读全文
posted @ 2013-12-07 13:54 CRoot 阅读(947) 评论(0) 推荐(1)
摘要:每种编程语言调用DLL的方法都不尽相同,在此只对用C#调用DLL的方法进行介绍。首先,您需要了解什么是托管,什么是非托管。一般可以认为:非托管代码主要是基于win 32平台开发的DLL,activeX的组件,托管代码是基于.net平台开发的。如果您想深入了解托管与非托管的关系与区别,及它们的运行机制,请您自行查找资料,本文件在此不作讨论。(一) 调用DLL中的非托管函数一般方法首先,应该在C#语言源程序中声明外部方法,其基本形式是:[DLLImport(“DLL文件”)]修饰符 extern 返回变量类型 方法名称 (参数列表)其中:DLL文件:包含定义外部方法的库文件。修饰符: 访问修饰符, 阅读全文
posted @ 2013-11-17 19:32 CRoot 阅读(3912) 评论(0) 推荐(0)
摘要:第一个方法是使用MFC里面的 CString GetHttpFileData(CString strUrl){ CInternetSession Session("Internet Explorer", 0); CHttpFile *pHttpFile = NULL; CString strData; CString strClip; pHttpFile = (CHttpFile*)Session.OpenURL(strUrl); while ( pHttpFile->ReadString(strClip) ) { strData... 阅读全文
posted @ 2013-10-27 17:02 CRoot 阅读(1168) 评论(0) 推荐(0)
摘要:上次做数学题,解方程解的难受,于是乎,在参考别人源码的过程中,写出了自己的计算器 1 2 3 4 在线一元二次方程式计算器 5 6 7 8 解二次方程式计算 9 10 11 12 13 14 x2+ x + = 0 15 一元二次方程的解法 16 17 18 19 ... 阅读全文
posted @ 2013-07-29 15:39 CRoot 阅读(770) 评论(0) 推荐(0)
摘要:近日,一朋友开设了地方性质的论坛,让我帮他处理下Login.php(所谓的用户的登陆页面),但是登陆的时候,出现空字符或敏感字符,需要提交到服务端的Script处理,大大降低了效率,于是乎,就有了此代码之旅。首先在网页的部分写入js功能函数。我们暂且命名为recheck。function recheck { if(document.getElementById(user).value==""||document.getElementById(user).value==null) //user为该text框ID { alert("不能为空"); //警告弹 阅读全文
posted @ 2013-07-17 06:28 CRoot 阅读(643) 评论(0) 推荐(0)
摘要:汇编中addr和offset的异同点!!!一、相同点1、addr和offset操作符都是获得操作数的偏移地址;2、addr和offset的处理都是先检查处理的是全局还是局部变量,若是全局变量则把其地址放到目标文件中。二、不同点1、addr伪操作符,只能用在invoke伪指令语句中;2、offset伪操作符可以用在任何可能涉及偏移地址的指令(当然包括invoke伪指令)并想获取操作数偏移地址的场合中;3、addr不能处理向前引用(即addr引用的操作数必须在使用addr前就得定义或声明),而offset则能(不管引用的操作数是其前或其后定义或声明);所谓向前引用是指:标号的定义是在invoke语 阅读全文
posted @ 2013-06-07 18:36 CRoot 阅读(1240) 评论(0) 推荐(0)
摘要:LPSTR :一个32位指向字符串指针,相当于char *;LPCSTR:一个32位指向字符常量指针,相当于const char *;LPESTR:一个32为指向unicode字符串指针,相当于wchar_t *;LPCWSTR:一个32位指向unicode字符串常量指针,相当于const wchar_t *;LPSTR-----------------------> char *LPBYTE-------------------->unsigned char *LPBYTE 与 LPSTR 的转换就是 unsigned char* 与 char* 的转换。BYTE:一个8位无符号 阅读全文
posted @ 2013-05-18 22:19 CRoot 阅读(166) 评论(0) 推荐(0)
摘要:看到大家讨论这方面的东西,作点贡献聊表各位高手对这个版快的无私奉献 :oops: 如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利,作为C语言程序员,用户同样可以在自己的程序中运用正则表达式。 标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Express 阅读全文
posted @ 2013-03-30 17:05 CRoot 阅读(486) 评论(0) 推荐(0)
摘要:Windows引入了多进程和多线程机制。同时也提供了多个进程之间的通信手段,包括剪贴板、DDE、OLE、管道等,和其他通信手段相比,管道有它自己的限制和特点,管道实际上是一段共享内存区,进程把共享消息放在那里。并通过一些API提供信息交换。管道是两个头的东西,每个头各连接一个进程或者同一个进程的不同代码,按照管道的类别分有两种管道,匿名的和命名的;按照管道的传输方向分也可以分成两种,单向的双向的。根据管道的特点,命名管道通常用在网络环境下不同计算机上运行的进程之间的通信(当然也可以用在同一台机的不同进程中)它可以是单向或双向的;而匿名管道只能用在同一台计算机中,它只能是单向的。匿名管道其实是通 阅读全文
posted @ 2013-02-18 21:35 CRoot 阅读(271) 评论(0) 推荐(0)
摘要:以下实例是基于对话框的工程,实现两个按钮分别控制两个非模态对话框,且保证每个非模态对话框只存在一个实例。1、新建一个基于对话框(Dialog Based)工程,名称为Demo2、在主窗口上添加2个按钮并设置其属性 Button1的ID:IDC_Btn1 caption:按钮一 Button2的ID:IDC_Btn2 caption:按钮二3、再添加2个对话框,分别修改它们的ID和Caption属性 IDD_DIALOG1的ID:IDD_Dlg1 Caption:窗口一 IDD_DIALOG2的ID:IDD_Dlg2 Caption:窗口二 4、为新建的2个对话框新建类,类名分别为CDlg1、C 阅读全文
posted @ 2013-02-01 22:31 CRoot 阅读(462) 评论(0) 推荐(0)
摘要:很多人对C/C++中的整型不太了解,导致代码移植的时候出现问题,本人在此总结一下:a. C/C++对整型长度的规定是为了执行效率,将int定义为机器字长可以取得最大的执行速度;b. C/C++中整型包括:int, char 和 enum, C++中还包含bool类型,C99中bool是一个宏,实际为_Bool; c. C 和 C++ 对 enum 的规定有所不同,这里不描述;d. 修饰整型正负的有 signed 和 unsigned,对于 int 默认为 signed;e. 修饰 int 大小的有 short 和 long, 部分编译器还扩展了一些更长的整型,比如 long long 和 __ 阅读全文
posted @ 2013-02-01 22:26 CRoot 阅读(475) 评论(0) 推荐(0)
摘要:/* 名称:系统服务管理 语言:C++ 作者:由UnixCRoot(CRoot)转载自互联网 介绍:对Windows系统服务的状态获取,服务暂停,开启,停止操作代码 */ void CStartServiceDlg::OnBnClickedButton1() { // 打开服务管理对象 SC_HANDLE hSC = ::OpenSCManager( NULL, NULL, GENERIC_EXECUTE); if( hSC == NULL) { TRACE( "open SCManager... 阅读全文
posted @ 2012-12-16 21:49 CRoot 阅读(1906) 评论(0) 推荐(1)
摘要:目录: ●导言 ●Windows 钩子(Hooks) ●CreateRemoteThread 和LoadLibrary 技术 ○进程间通讯 ●CreateRemoteThread 和 WriteProcessmemory 技术 ○如何使用该技术子类(SubClass)其他进程中的控件 ○什么情况下适合使用该技术 (译者注:那些可以看到别 的程序中密码框内容的软件),他们都依赖于Windows钩子技术。要实现这个还有其他的方法吗?有!但是,首先,让我们简单回顾一下我们要实现的目 标,以便你能弄清楚我在说什么。 要读取一个控件的内容,不管它是否属于你自己的程序,一般来说需要发送 WM_GETTEX 阅读全文
posted @ 2012-12-16 17:09 CRoot 阅读(335) 评论(0) 推荐(0)
摘要:删除方法有两种,一种是靠MFC封装的CFile类删除看实例:CFileFind finder; //定义一个文件操作类 CString strWildcard( "目录" ); //删除的目录 strWildcard += _T("\\*.*"); //表示删除所有文件 BOOL bWorking = finder.FindFile(strWildcard); //开始寻找,枚举文件 while (bWorking) //循环获取文件路径,并一个一个删除 { bWorking = finder.FindNextFile(); CString str = 阅读全文
posted @ 2012-12-08 00:33 CRoot 阅读(940) 评论(0) 推荐(0)
摘要:方法一:/* write by jruinet */// NtServiceControlDlg.cpp : 实现文件#include "stdafx.h"#include "NtServiceControl.h"#include "NtServiceControlDlg.h"#include ".\ntservicecontroldlg.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// CNtServiceControlDlg 对话框CNtServiceControlDlg 阅读全文
posted @ 2012-12-08 00:30 CRoot 阅读(729) 评论(0) 推荐(0)