SDK 实现程序自删除

原创 2007年10月14日 12:40:00
BOOL SelfDelete()
...{
    TCHAR szModule [MAX_PATH],
          szComspec[MAX_PATH],
          szParams [MAX_PATH];

    
// get file path names:
    if((GetModuleFileName(0,szModule,MAX_PATH)!=0&&
       (GetShortPathName(szModule,szModule,MAX_PATH)
!=0&&
       (GetEnvironmentVariable(
"COMSPEC",szComspec,MAX_PATH)!=0))
    
...{
        
// set command shell parameters
        lstrcpy(szParams," /c del ");
        lstrcat(szParams, szModule);
        lstrcat(szParams, 
" > nul");
        lstrcat(szComspec, szParams);


        
// set struct members
        STARTUPINFO        si=...{0};
        PROCESS_INFORMATION    pi
=...{0};
        si.cb 
= sizeof(si);
        si.dwFlags 
= STARTF_USESHOWWINDOW;
        si.wShowWindow 
= SW_HIDE;

        
// increase resource allocation to program
        SetPriorityClass(GetCurrentProcess(),
                REALTIME_PRIORITY_CLASS);
        SetThreadPriority(GetCurrentThread(),
            THREAD_PRIORITY_TIME_CRITICAL);

        
// invoke command shell
        if(CreateProcess(0, szComspec, 000,CREATE_SUSPENDED|
                    DETACHED_PROCESS, 
00&si, &pi))
        
...{
            
// suppress command shell process until program exits
            SetPriorityClass(pi.hProcess,IDLE_PRIORITY_CLASS);
                        SetThreadPriority(pi.hThread,THREAD_PRIORITY_IDLE); 

            
// resume shell process with new low priority
            ResumeThread(pi.hThread);

            
// everything seemed to work
            return TRUE;
        }

        
else // if error, normalize allocation
        ...{
            SetPriorityClass(GetCurrentProcess(),
                             NORMAL_PRIORITY_CLASS);
            SetThreadPriority(GetCurrentThread(),
                              THREAD_PRIORITY_NORMAL);
        }

    }

    
return FALSE;
}
  

深入解读-小程序SDK

前言  这篇文章主要是对小程序官方文档做部分深入解读;让大家了解小程序实现背后的机制原理。 由于笔者没有获取到微信官方提供的小程序实现原理图,很多内容都是通过阅读文档资料反推和理解所得,如有误解之处...
  • lcstrive
  • lcstrive
  • 2017年06月29日 21:15
  • 1234

android studio开发环境配置(指定SDK及卸载)附安装文件网盘地址(win7 64位)

android studio安装文件下载 安装及配置,一些错误处理 卸载 导入工程 before: 之前电脑上安...
  • wojiaopanpan
  • wojiaopanpan
  • 2015年12月02日 13:27
  • 9670

微信小程序云端增强 SDK接入

XpmJS可以链接任何云端资源,为小程序、移动应用提供云资源通道和后端能力。降低开发门槛,提升小程序的开发效率。无需编写后端代码,即可实现用户登录、WebSocket 通信、微信支付、云端数据表格、文...
  • qq_38125123
  • qq_38125123
  • 2017年06月23日 10:55
  • 397

微信小程序学习用demo推荐:列表项左滑删除效果

要实现的效果: 1,当向左滑动时,item跟随手指像左移动,同时右侧出现两个可点击的按钮 2,当滑动距离大于按钮宽度一半松开手指时,item自动滑动到左侧显示出按钮,小于一半时item自动回到原来...
  • weixin_36065510
  • weixin_36065510
  • 2017年03月22日 02:51
  • 2694

C#实现删除自身程序

因为课程需要,需要实现程序运行时删除自身的效果,但是程序运行时是受到系统保护的,所以只能想别的方法 。   思路是:在本程序未关闭时调用其他程序,使被调用的程序在源程序关闭后删除程序本身。   使...
  • acingdreamer
  • acingdreamer
  • 2017年02月18日 10:49
  • 3445

EXE程序的自删除实现

自删除(Self Deleting)最早的方法是由 Gary Nebbett 大虾写的,太经典了,不能不提。程序如下:  #include "windows.h" int main(int a...
  • usertony
  • usertony
  • 2013年10月25日 15:12
  • 434

c++实现程序自删除

程序自删除实现代码 #include "stdafx.h" #include #include #include #include VOID DelItself() { SHE...
  • cx1990820
  • cx1990820
  • 2015年01月29日 14:27
  • 405

超详细步骤 | 如何用小程序 SDK 实现电商评价模块

【 玩转 LeanCloud 】开发者经验分享:在商城系统中给商品添加评价是一种非常典型的需求,我下面要来演示一下如何借助 LeanCloud 的小程序 SDK 来快速完整地实现这个需求,包括如何处理...
  • qq_40557339
  • qq_40557339
  • 2017年12月25日 18:21
  • 29

linux 删除指定文件夹外的其他所有文件夹

(1)删除 除指定目录下得其他所有文件夹   ls |grep -v dir | xargs rm -rf  1、方法1,比较麻烦的做法是: 复制需要保留的文件到其他文件夹,...
  • tulianghui
  • tulianghui
  • 2015年10月23日 18:34
  • 120

微信小程序滑动删除效果

转自:看源社区 http://www.see-source.com/weixinwidget/detail.html?wid=80 最初打算使用scroll-view实现,效果好、流畅、有惯性...
  • zuoliangzhu
  • zuoliangzhu
  • 2016年12月24日 15:53
  • 7305
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SDK 实现程序自删除
举报原因:
原因补充:

(最多只允许输入30个字)