|
[求助]自启动的程序,如何在用户注销后,再次启动?
Windows的启动项太多了 你把你的程序改名到 %SysDrv%:\Explorer.exe试下应该也可以的,:) .com也行 |
|
|
|
[原创][公开源代码]集合了无数大牛们的代码,打造自己的山寨版IceSword(KsBinSword)
俺对驱动一窃不通..希望楼主有新版了通知一下..:) |
|
[新年礼物]加密与解密工具新年大礼包2009 DVD1
蛮大的..不过还是收藏一下... |
|
[原创]修改PE头 添加EXE导出表,强行导出EXE内部函数
太强了..那微软的很多未导出函数是不是也可以这样搞来呀.. |
|
|
|
[求助]影音的桌面播放是如何实现的?
网上好像有Delphi的实现示例..不过只有片段..没有完整代码.. 忘了出处了.. TMediaPlay中有一个Display属性,它是TWinControl类型,TWinControl是第一个拥有窗口句柄(Handle)的VCL类,TMediaPlay就是利用这个Handle所Handle的窗口区域播放。 如果我们把Handle指向桌面,哪TMediaPlay将会在桌面播放。与TCanvas不同的是,TWinControl的Handle的属性是只读的,并且GetHandle方法是静态方法,这说明,我们要Handle指向桌面只有两种方法 修改TWinControl,让Handle可写。 建立TWinControl子类,并隐藏TWinControl.GetHandle方法,在新方法中返回桌面句柄。 其中第二种方法比较好. TSurpriseDisplay=class(TWinControl) protected function GetHandle:HWnd;virtual; public property Handle: HWnd read GetHandle; end; 其中GetHandle被定义为virtual,这样可以方便继承。因为这里只是隐藏了TWinControl.GetHandle方法,所以当把这个子类赋给TMediaPlay.Display时,它会被强制转换成父类,并调用其GetHandle方法,这样达不到我们的目的。所以我对TMediaPlay作了一点修改,增强其功能,修改后的TMediaPlay完全与原来的兼容. 原代码: {setting a TWinControl to display video devices' output} procedure TMediaPlayer.SetDisplay( Value: TWinControl ); var AWindowParm: TMCI_Anim_Window_Parms; begin if (Value <> nil) and MCIOpened and FHasVideo then begin FFlags := mci_Wait or mci_Anim_Window_hWnd; AWindowParm.Wnd := Longint(Value.Handle); ................ end; 修改后 {setting a TWinControl to display video devices' output} procedure TMediaPlayer.SetDisplay( Value: TWinControl ); var AWindowParm: TMCI_Anim_Window_Parms; wnd:HWND; begin if (Value <> nil) and MCIOpened and FHasVideo then begin FFlags := mci_Wait or mci_Anim_Window_hWnd; //************************************************************ if Value is TSurpriseDisplay then wnd:=TSurpriseDisplay(Value).Handle else wnd:=Value.Handle; //************************************************************ AWindowParm.Wnd := Longint(wnd); ............ end; 虽然这种修改并不优美,但能最大限度地保证兼容。别一种修改方法是把TMediaPlay.Display改成TSurpriseDisplay类型,这样可以保证安全。 使用方法: 使用桌面播放 只要在GetHandle中返回桌面句柄,并赋值给Display. function TSurpriseDisplay.GetHandle:HWnd; begin Result:=GetDesktopWindow; end; mp.Display:=TSurpriseDisplay.Create(self); 用记事本播放 记得我在TSurpriseDisplay的GetHandle中声明为virtual吗,现在开始发挥它的威力了,写一个类继承自TSurpriseDisplay,覆盖GetHandle方法,返回记事本句柄。 TNotepadDisplay=class(TSurpriseDisplay) private wnd:Hwnd; protected function GetHandle:HWnd;override; end; function TNotepadDisplay.GetHandle:HWnd; begin if wnd=0 then begin Winexec('notepad.exe',1); wnd:=FindWindow('Notepad','无标题 - 记事本'); end; result:=wnd; end; mp.Display:=TNotepadDisplay.Create(self); |
|
[专题三]驱动程序设计基础-新增codeproject驱动教程(jingru提供)
什么BCB也可以开发驱动呀..Delphi都可以了..我等..等...花都快懈完了.. |
|
[原创]分享一个小程序
加上抓取背景功能也可以呀..就是像QQ抓图一样..把指定区域抓出来自动设置成时钟背景..时钟关闭的时候..背景保存.. |
|
|
|
[讨论]这里不是菜鸟来的地方
没有人天生就什么都会的, 遇到问题了,第一步,应该自己尝试着去找,如果真的找不到再发帖子,这才是最好的 因为有些问题都是老问题了,所以高手们看了,一般不会再更我们的这些问题的,....... |
|
[求助]进程插入Explorer
这个最好不要用远程线程,因为你还要加载VB支持库才可以运行, 不然就会出错的 如果你真的想用VB写,就写个loader,新开一个explorer进程,并暂停运行,然后用你的程序代码覆盖explorer的内存代码,再跳到你的程序的入口点执行指令吧.... |
|
|
|
|
|
[讨论]来个简单题目,看哪位兄弟写的最好!
TC 2.0 pass
用28楼dwing的方法改了上面的代码
|
|
[原创]今天将自己的软件更新了,顺便放出源代码
下载试下,说不定TRW就可以在XP下运行了,呵呵(会吗??) |
|
如何防止杀毒软件被病毒中止?
呵呵,真是一级管一级,在98exe上又出了一个可以关闭 IceSword的文章 http://www.98exe.net/Article/a/2007-02-01/2102.html |
|
[原创]用户层下拦截系统api的原理与实现
继续学习,先收藏了,谢谢分享 |
|
[原创]发一个键盘记录器--附源码
我回去就试下 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值