自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lbird

关注 c/c++,COM,WTL,ATL,MFC,内核驱动,安全 - - - 声明:博客内文章除非注明,皆原创!转载敬请注明出处!

  • 博客(86)
  • 资源 (1)
  • 收藏
  • 关注

转载 cocoa获取管理员权限

下面的代码提高权限来删除指定文件+ (BOOL)removeFileWithElevatedPrivilegesFromLocation:(NSString *)location{    // Create authorization reference    OSStatus status;    AuthorizationRef authorizationRef

2016-01-29 17:32:51 1539

原创 主窗口关闭时怎么退出app

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication { return YES;}

2016-01-29 16:29:55 896

原创 FSEventStreamCreate监视文件系统改变通知

相关的api:1:应用程序通过FSEventStreamCreate or FSEventStreamCreateRelativeToDevice注册。2:使用循环来获取FSEventStreamScheduleWithRunLoop。3:告诉后台进程开始文件监控FSEventStreamStart。4:如果事件产生,然后就回调函数FSEventStreamCa

2016-01-28 15:35:46 2749

原创 如何获得UILabel在设置text后的真实长度

有时我们需要动态修改UILabel的text属性,并且UILabel后面需要紧跟着其它控件,这样就需要计算UILabel的实际长度:CGSize labelSize = [label.textsizeWithFont:label.font                                      constrainedToSize:CGSizeMake(FLT_MA

2013-09-18 09:49:14 4951

转载 iOS中定制导航栏背景

一.iOS4中定制导航栏背景在iOS4中通过重写UINavigationBar的drawRect:方法,可以修改导航栏的背景。1.使用类别(Category)扩展重写drawRect:@implementation UINavigationBar(CustomBackground)- (void)drawRect:(CGRect)rect { UI

2013-09-09 17:43:44 6599

转载 UIView animateWithDuration 使用详解

转自:http://xmuliushuo.com/archives/20在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果。当然,以往的begin/commit的方法依然使用,下面详细解释一下animateWithDuration的使用方法。函数原型:+ (void)animateWithDuration:(NSTimeIn

2013-08-30 18:05:45 1095

原创 用UIAccelerometerDelegate处理摇动

@interface ViewController :UIViewControllerUIAccelerometerDelegate>- (void)loadView{    ...... UIAccelerometer *accelerometer = [UIAccelerometersharedAccelerometer];    acceler

2013-08-26 16:19:02 885

原创 "_kCMTimeInvalid", referenced from 错误原因

需要加入 CoreMedia.framework 。

2013-03-11 17:37:54 2608

转载 loadView和viewDidLoad方法及viewWillAppear和viewDidAppear

一、loadView永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数。如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。这个方法的默认实现

2013-03-08 17:06:13 2954 1

转载 正确使用PresentModalViewController

Present ViewController Modally 一、主要用途  弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形:  1、收集用户输入信息  2、临时呈现

2013-03-08 15:23:08 716

转载 关于UI_USER_INTERFACE_IDIOM() & UIDevice.model

使用  UI_USER_INTERFACE_IDIOM() 进行区分  (ios 3.2 >=)  无法区分iphone和ipod if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {       //     } else {      //      } 区

2013-03-08 14:38:56 1852

转载 Three20中TTNavigator用法总结

简单映射:Three20中的TNavigator对于软件导航很有用,只需要维护一张map映射表就行了。就像url表示一个网页一样,Three20也采用了相同的方式,用url关联页面。大家可以参看TTNavigatorDemo中的源码:TTURLMap* map = navigator.URLMap; // Any URL that doesn't match will fall b

2013-02-23 18:09:48 564

转载 iOS 监听App音量的变更

iOS 监听App音量的变化方法1:     在applicationDidFinishLaunching函数里添加      [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(volumeChan

2013-02-22 15:19:55 3680

原创 定制navgation上的按钮

<!--p.p1 {margin:0.0px 0.0px 0.0px 0.0px; font:11.0px Menlo; color:#ed1c14}p.p2 {margin:0.0px 0.0px 0.0px 0.0px; font:11.0px Menlo; color:#567fa4}p.p3 {margin:0.0px 0.0px 0.0px 0.0

2013-02-22 14:47:39 720

原创 VC7配置编译环境创建驱动项目

1.创建一个win32空项目2.添加c驱动代码3.设置编译环境(注意下面的h,lib路径根据具体情况更改)开发环境:XP+VC2003Debug版本[C/C++][General]    [Additional Include Directories] = s:/sdk/winddk/3790/inc/crt;S:/sdk/WINDDK/3790/inc/wxp;S:/sdk/WINDDK

2007-11-17 17:37:00 1530

原创 内核钩子模板

#include #include #pragma pack(1)typedef struct ServiceDescriptorEntry {    unsigned int *ServiceTableBase;    unsigned int *ServiceCounterTableBase; //Used only in checked build    unsigned int Numbe

2007-10-16 15:05:00 2129

原创 sscanf/scanf特殊用法

%[ ] 的用法:%[ ]表示要读入一个字符集合, 如果[ 后面第一个字符是”^”,则表示反意思。                     [ ]内的字符串可以是1或更多字符组成。空字符集(%[])是违反规定的,可                     导致不可预知的结果。%[^]也是违反规定的。           %[a-z] 读取在 a-z 之间的字符串,如果不在

2007-08-03 13:59:00 8783 3

原创 2007如何提高上网速度,我的经验与大家分享

 网络上有传不少提高上网速度的文章,但仔细看一下,有作用的不多。不是过期的文章(窄带上网时期),就是许多坚涩难懂的专业术语。我总结了几点比较有效的,并加入一些本人的看法(说得不对,不要扔鸡蛋啊^-^)。 在不改变带宽和电脑性能的情况下(废话),一般可以从几点入手,有利于提高上网速度。 硬件方面:        一般用户都是用ADSL上网,Modem工作时发热量较大,平时

2007-07-06 14:33:00 4346

原创 bitset

              bitset 类简化了位集的处理,有些程序要使用二进制位的有序集来保存一组项或条件的标志位,可以考虑使用bitset。需要的文件: #include Using std::bitsetl         bitset 对象的定义和初始化定义bitset时,要明确bitset有多少位:bitset bitvec     // 3

2007-05-12 13:46:00 2540

原创 auto_ptr

需要头文件:memoryauto_ptr 只能用于管理从 new 返回的一个对象,它不能管理动态分配的数组用法:auto_ptr p ( new string(“hello”) )auto_ptr p ( new int (1024) )注意不能用赋值原始指针,因为=的右操作数也必需是auto_ptr 对象auto_ptr p = new string(“hel

2007-05-12 13:45:00 1527

转载 内核级HOOK的几种实现与应用

创建时间:2003-03-26文章属性:原创文章来源:http://www.whitecell.org文章提交:sinister (jiasys_at_21cn.com)内核级HOOK的几种实现与应用Author  : sinisterEmail   : sinister@whitecell.orgHomePage: http://www.whitecell.org      实现内核级 HOOK

2007-04-25 14:12:00 1174

原创 用代码实现"停用/启用"网络连接

代码如下:BOOL NetConnect(BOOL bConnect){CoInitialize(NULL) ;BOOL bReturn = FALSE ;HRESULT hr ;CComPtr spShell ;// search "Shell Object" in MSDNhr = spShell.CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INP

2007-04-04 17:46:00 3523 1

原创 通过WinInet API来实现表单提交并设置获取COOKIE

     可以尝试通过 HttpAddRequestHeaders 来添加自已的COOKIE:char * lpszHeaders = "Cookie: Key=somevalue";DWORD dwHeadersLength = strlen(lpszHeaders);HttpAddRequestHeaders(hOpenRequest, lpszHeaders, dwHeadersLength

2007-03-13 14:45:00 8981 1

原创 如何打开软键盘

    // m_hWnd 是接受软键盘输入的窗口句柄    ImmSimulateHotKey(m_hWnd, IME_CHOTKEY_IME_NONIME_TOGGLE);           HIMC hIMC = ImmGetContext(m_hWnd);      DWORD dwConv, dwSent;      DWORD dwTemp;          

2007-03-07 13:49:00 8133

原创 驱动程序内存分配

 何谓可分页和非分页内存       默认情况下,内核加载器会加载所有的代码部分和全局数据到非分页内存中。而且,加载器是一次加载整个驱动的可执行文件,包括相关的DLL。加载后,内核加载器关闭驱动程序文件,甚至你可以删除当前正在执行的驱动文件。但是,你可以告诉加载器你希望驱动的哪部分是可分页,所谓可分页,就是可能会被换页出内存(Page out)。可以使用下面的指令来实现:#define A

2007-02-12 17:36:00 7397

原创 FAQ整理(不断添加中)

FAQ1: VC7中,如何在非MFC中如何使用CString -- 包含头文件 atlstr.h 即可,需要用到ATLFAQ2: 检查某键是否被按下-- if( GetKeyState(VK_LSHIFT) FAQ3: 隐藏对话框-- 当你使用有模式对话框时最开始是无法隐藏窗口的,而只能在对话框显示后再隐藏窗口,所以这会造成屏幕的闪烁。一个解决办法就是采用无模式的对话框,   无模式的对话

2007-02-09 12:04:00 1659

原创 WTL FAQ(不断添加中)

FAQ1: 如果你用WTL7.5和VC6.0/ATL3.0,并且定义了_ATL_STATIC_REGISTRY。在编译时你会 得到提示“ambiguous symbol ATL”的错误。因为定义_ATL_STATIC_REGISTRY将使 atlbase.h文件内包含statreg.h文件。而statreg.h文件内声明了另一个ATL名字空间 造成冲突。要解决此问题可以把 #include    

2007-02-09 11:43:00 1193

原创 STL用法点滴(不断添加中)

 1、std::string的使用3、为什么会出现大量的警告信息4、multimap 模板类的用法5、map模板类的用法========================================================================================================= 1、std::string的使用  

2007-02-09 11:41:00 1422

转载 C语言中可变参数的用法(转载)

  C语言中可变参数的用法  我们在C语言编程中会遇到一些参数个数可变的函数,例如printf() 这个函数,它的定义是这样的: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是 可变的,例如我们可以有以下不同的调用方法: printf("%d",i); printf("%s

2007-02-09 11:33:00 962

原创 8086汇编指令

 一、数据传输指令 作用:它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令.    MOV 传送字或字节.    MOVSX 先符号扩展,再传送.    MOVZX 先零扩展,再传送.    PUSH 把字压入堆栈.    POP 把字弹出堆栈.    PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.  

2007-02-09 11:30:00 3507

原创 分析PE格式文件中的图标信息

 PE格式的资源段是比较复杂的,目前几种介绍PE格式的书籍在介绍到这部分时都是不够深入(本人认为写得比较好的有《Windows95系统程式设计奥秘》候捷译本),因此不得不拿起工具自已研究,分析PE格式比较好的工具有:stud_PE,UltraEdit等。以下记录我在研究图标资源时的过程,请结合PE格式分析教材阅读 步骤:1、得到资源段的偏移地址;用Stud_PE打开PE格式

2007-02-09 11:23:00 2873

原创 IE7中获取当前激活的WebBrowser2对象指针

IE7支持多页显示,要从多个页面中获取当前显示的浏览窗口的WebBrowser2对象指针。#include "oleacc.h" // need oleacc.libIWebBrowser2 * GetWebBrowserObjectFromHwnd( HWND hwndHTMLDoc ){    IWebBrowser2 *pWebBrowser2 = NULL ;    UINT nMsg =

2007-01-17 16:24:00 2172 5

原创 IE7的窗口结构

   与IE6不同,IE7的窗口结构做了很大的改动。IEFrame (主窗口)    |    |-- WorkerW (导航栏,即地址栏部分,还包括IE7特有的搜索栏)    |        |    |        |-- ReBarWindow32     |    |-- CommandBarClass    |        |    |        |-- ReBarWindow

2007-01-17 16:21:00 1744

原创 处理BSTR的API函数

BSTR SysAllocString( OLECHAR FAR* sz );    从OLECHAR*分配BSTR 。为避免意外的结果,请不要使用BSTR作为sz参数,除非你确定它不包含嵌   入的空字符。BSTR SysAllocStringByteLen( char FAR* psz, unsigned int len );    用于包含二进制数据而不是真实字符串的BSTR。输入参数为AN

2007-01-17 16:19:00 1942

原创 系统服务挂钩(HOOK)-2

      上一篇介绍了系统服务挂钩并提供了最简单的例子,接下来主要记录我对这种技术应用的研究心得,比较初浅,不对请高手指教!下面主要以代码为主(未经严格测试,仅供学习参考),实现了1、 保护文件/目录不被删除2、 隐藏文件/目录3、 隐藏进程4、 保护进程不被结束5、 保护注册表键不被打开6、 保护注册表键不被删除网上有几篇文章介绍了部分功能,并提供的源码。所以我主要把对源码的理解写下来,并对源

2007-01-17 16:15:00 2308

原创 系统服务挂钩(HOOK) -1

系统服务就是由操作系统提供的一组函数,类似上层开发的Win32 API。       不仅Win32 API可以挂钩,系统服务也可以挂钩。开发者为了捕获各种事件,可以挂钩文件创建函数CreateFile,注册表访问函数RegCreateKey。使用挂钩可以改变操作系统的行为,只要适当地改变挂钩的数据结构和上下文,足够引起新的行为。例如,通过挂钩NtCreateFile系统服务,可以保护敏感文件

2006-11-30 14:39:00 2423

原创 如何安装驱动

        用那个例子编译成功后,生成一个SYS文件。为了让这个驱动被系统加载,必须创建一个inf文件。由于是使用现成的例子,因此这一步也可以省下来。直接右键点击例子中的inf文件,在弹出的菜单中选择“安装”即可。       这里要注意的是,inf中的StartType参数,它可以控制驱动被加载的方式:SERVICE_AUTO_START (2)          安全模式下不会

2006-11-22 11:37:00 5801

原创 如何编译驱动程序

       驱动的编译和上层应用程序的编译完全不同,作为初学者应该先了解一下,即使你还不懂得怎么写驱动程序。       首先安装DDK,然后随便找一个例子来测试。在菜单中找到BUILD环境菜单执行,不同的系统要使用不同的BUILD环境。会打开一个DOS窗口,这时CD到那个例子程序,输入 build –cZ回车就可以了。 驱动程序都是用一个由DDK提供的叫build.exe的工具编译的。此程

2006-11-22 10:02:00 11318 1

原创 如何实现菜单的拖拽

 为了让菜单支持拖拽,需要做:1、为菜单添加MNS_DRAGDROP风格MENUINFO Info ;Info.cbSize = sizeof(MENUINFO) ;Info.fMask = MIM_STYLE ;Info.dwStyle= MNS_DRAGDROP ;SetMenuInfo( hMenu , &Info ) ; 注:当WINVER>=0x500

2006-11-09 17:13:00 3443 1

转载 如何使用VSS-由帖子整理

     这段时间在公司做一个.net项目,   一个项目开发小组,开发环境是vs.net,语言是c#,三个人协同开发。既然是协同开发,就要找一个源代码控制软件来进行开发中的源代码管理和版本控制。我们首先想到的是clearcase,名气大嘛,而且大家都没用过,都想尝尝鲜。谁知道这个玩意实在是太复杂了,先是要在window2000上安装active   directory   (就这都弄了一整天),

2006-11-02 11:21:00 1199

*****

****************

2007-11-12

空空如也

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

TA关注的人

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