Windows系统配置python脚本开机启动的3种方法分享


Posted in Python onMarch 10, 2015

测试环境:windows Server 2003 R2

一、开始菜单启动项实现

用户必须登录才可执行。

测试脚本(python代码):

import time

fout = open('e:\\1.txt','w')

while True:

    tmp = '%d-%02d-%02d %02d:%02d:%02d \r\n' % time.localtime()[0:6]

    print tmp

    fout.write(tmp)

    fout.flush()

    time.sleep(5)

1、常规操作

1.1 创建快捷方式;

Windows系统配置python脚本开机启动的3种方法分享

1.2 将创建的快捷方式放入开始菜单启动项;

Windows系统配置python脚本开机启动的3种方法分享

1.3、开机验证;

Windows系统配置python脚本开机启动的3种方法分享

2、隐藏命令行窗口启动

上述操作方法有命令行窗口,有些场合感觉不太实用,我们可以通过以下两种方式去掉命令行窗口。

2.1 将python脚本的文件扩展名改为".pyw"

Windows系统配置python脚本开机启动的3种方法分享

其它操作和上述过程类似,这里不再赘述。

2.2 通过vbs之类的脚本启动

vbs代码如下:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c E:\test1.py",vbhide
路径根据具体情况进行配置,其它的和之前的操作类似,这里不再赘述。

如果不想用快捷方式的话,把脚本直接放入启动项也可以。

附:

配置账户自动登录

通过开始菜单启动项来实现的话,必须进行相应保证用户登录系统,这里介绍一种账户自动登录的方法。

a、 在运行框中键入“Rundll32 netplwiz.dll,UsersRunDll”;

Windows系统配置python脚本开机启动的3种方法分享

b、 打开用户账户界面,将“要使用本机,用户必须输入用户名和密码”前面的勾去掉,按”确定“后输入需要自动登录的用户名和密码;

Windows系统配置python脚本开机启动的3种方法分享

二、开机脚本

不能用循环,最好配置超时时间。
测试代码(python):

import time

fout = open('e:\\1.txt','w')

tmp = '%d-%02d-%02d %02d:%02d:%02d \r\n' % time.localtime()[0:6]

print tmp

fout.write(tmp)

fout.close()

步骤如下:  

a、运行中输入gpedit.msc打开组策略编辑器;
b、选择“计算机配置”=>“Windows 设置”=>“脚本”=>“启动”选项;

Windows系统配置python脚本开机启动的3种方法分享

c、选择脚本;

Windows系统配置python脚本开机启动的3种方法分享

d、配置脚本最长等待时间,路径为“计算机配置”=>“管理模版”=>“系统”=>“脚本”=>“组策略脚本的最长等待时间”;

Windows系统配置python脚本开机启动的3种方法分享

三、通过一个服务调用该脚本

a、编写脚本启动服务serviceStartShell,代码如下(这里只列出main函数的代码):

int main(int argc,char* argv[])

{

    Init();

    dwThreadID = GetCurrentThreadId();

    SERVICE_TABLE_ENTRY st[] =

    {

        { szServiceName, (LPSERVICE_MAIN_FUNCTION)ServiceMain },

        { NULL, NULL }

    };

    //printf("argc = %d \n",argc);

    if((4 == argc) && 0 == stricmp(argv[3],"/install") )

    {

        Install(argv[1],argv[2]);

        writeReg(argv[1],argv[2]);

    }

    else if ((2 == argc) && 0 == stricmp(argv[1], "/uninstall") ) 

    {

        Uninstall();

    }

    else

    {

        if (!StartServiceCtrlDispatcher(st))

        {

            //printf("Register Service Main Function Error!");

        }

    }

    return 0;

}

 b、服务安装;

serviceStartShell.exe C:\Python27\python.exe e:\test1.py /install

c、服务卸载;
serviceStartShell.exe  /uninstall
Python 相关文章推荐
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
Python模拟登录验证码(代码简单)
Feb 06 Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
利用pandas读取中文数据集的方法
Jul 25 Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 Python
python多线程同步实例教程
Aug 11 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
Python实现简单猜数字游戏
Feb 03 Python
Python自动化构建工具scons使用入门笔记
Mar 10 #Python
Python操作CouchDB数据库简单示例
Mar 10 #Python
Python性能优化技巧
Mar 09 #Python
Python中的赋值、浅拷贝、深拷贝介绍
Mar 09 #Python
Python自动连接ssh的方法
Mar 07 #Python
Python最长公共子串算法实例
Mar 07 #Python
Python复制目录结构脚本代码分享
Mar 06 #Python
You might like
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
PHP实现合并discuz用户
2015/08/05 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
python编写爬虫小程序
2015/05/14 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
Python中的CSV文件使用"with"语句的方式详解
2018/10/16 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
一道Delphi面试题
2016/10/28 面试题
文明礼仪小标兵事迹
2014/01/12 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
实习指导老师评语
2014/04/26 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
师德师风学习材料
2014/12/19 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
任长霞观后感
2015/06/16 职场文书