用户操作
[即时聊天] [发私信] [加为好友]
撒哈拉之雨的悲伤ID:hsmserver
7587次访问,排名13604(3)好友23人,关注者52
没有比人更高的山,没有比脚更长的路
hsmserver的文章
原创 11 篇
翻译 0 篇
转载 3 篇
评论 2 篇
撒哈拉之雨的悲伤的公告

几醉情愁,却饮尽,男儿豪情。
书剑走天涯,独自漂泊。
只当是柔情万般,也逝去多少相思。
莫笑我,梦中总缠绵,怎忘得?
梦残断,情何怨。空伤感,夜难眠。
欲把瑶琴奏,与子偕听。

最近评论
ghd2004:怎么也转.NET了
:(
QQ 434924 somewindows@163.com:为什么我按照你弄的 提示错误System.FormatException: 输入字符串的格式不正确。

public void AddSumOnFooter(object sender, DataGridItemEventArgs e)
{

int sum=0;
if (e.Item.ItemIndex>0)
{ <……
文章分类
收藏
    相册
    我的相册
    友情链接
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 防止DEDE反编译的DELPHI程序收藏

    新一篇: 取GridEh页脚的合计值 | 旧一篇: 网络版《黄建翔解说》

    Program Project1;

    Uses
      Forms,
      windows,
      sysutils,
      Unit1 In 'Unit1.pas' {Form1},
      Unit2 In 'Unit2.pas' {Form2};

    Function RegisterServiceProcess(dwProcessId, dwType: dword): Integer; Stdcall;
      External 'kernel32.dll'
    {$R *.RES}
    Var
      HMUTEX: HWND;
      RET: INTEGER;
      hCurrentWindow: HWnd; //反编译要的
      szText: Array[0..254] Of char; //反编译要的
    Begin
      Application.Initialize;
      APPLICATION.TITLE := 'delphi葵花宝典 设计:张国鹏';
      RegisterServiceProcess(GetCurrentProcessID, 1); //让程序在Ctl+Alt+Del中消失.

        『我们可以看到作者用RegisterServiceProcess把程序注册成了WINDOWS服务程序~』
        『但大家都知道这个函数包含在kernel32里,而且只在98/ME中管用~』
        『所以并不要把这项作为反编译的关键,可以说可有可无~』

      //防止反编译开始
      hCurrentWindow := GetWindow(APPLICATION.Handle, GW_HWNDFIRST);

        『由上面知道作者想知道自己的程序窗口是不是最顶级的窗口』

      While hCurrentWindow <> 0 Do
      Begin
        If GetWindowText(hCurrentWindow, @szText, 255) > 0 Then
          If pos('DeDe', StrPas(@szText)) <> 0 Then

         『如果不是,则获取现在顶机窗体的标题,在做判断是不是"DeDe"』

          Begin
            APPLICATION.MESSAGEBOX('想反编译我?没那么容易!',
              '哈哈......你这家伙!', mb_ok);
            //closewindow(hCurrentWindow);//使该程序窗口最小化
            enablewindow(hCurrentWindow, false);
            //使该程序的窗口不能被激活 如果能获取该程序的线程ID号,则可以使该程序又不能使用,又不能关闭,酷吧?

                    『以上这两句是对DEDE的处理~』
                    『closewindow:为把制定的窗口最小化,但窗口不会从内存中清除~』
                    『enablewindow:指定的窗口里允许/禁止所鼠标和键盘的输入,false肯定是不能了~』

            halt;
          End;
        hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
      End;
      //防止反编译结束
      //防止程序的二次运行
      HMUTEX := CREATEMUTEX(Nil, FALSE, 'delphi葵花宝典 设计:张国鹏');
      RET := GETLASTERROR;
      If RET <> ERROR_ALREADY_EXISTS Then
      Begin
        Application.CreateForm(TForm1, Form1);
        // Application.CreateForm(TForm2, Form2);
        Application.Run;
      End
      Else
        APPLICATION.MESSAGEBOX('程序已经运行!', '提示', mb_ok);
      releasemutex(hmutex);

    End. 

    发表于 @ 2006年09月21日 15:43:00|评论(loading...)|编辑

    新一篇: 取GridEh页脚的合计值 | 旧一篇: 网络版《黄建翔解说》

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 撒哈拉之雨的悲伤