当前位置:   article > 正文

python中.py文件的双击运行,开机启动,去黑框,查句柄_python文件双击黑框

python文件双击黑框

下面的写法一般都能正常启动.py文件
在.bat文件中写这个:

  1. chcp 65001
  2. @cd /d F:\hello&&w.py
  3. @pause>nul

~新建记事本把后缀改成.bat  右击编辑

(这个跟.py文件一样双击就直接运行所以要右击编辑)

输入上面内容(注意把地址和程序名改成自己的)保存,然后双击这个.bat文件

 

想去掉黑框,后台运行,要新建一个.vbs文件,里面内容如下:

  1. set ws=WScript.CreateObject("WScript.Shell")
  2. ws.Run "F:\hello\w.bat /start",0

~新建记事本后缀改成.vbs

 

想要开机后台启动,就把上面这个.vbs文件拖到
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
这个文件夹下.

~这个开机启动项一般是在固定的位置上的

 

想关闭后台(Python)程序cmd下输入:

taskkill /f /t /im python.exe

,

 

想要查看后台程序cmd输入:

tasklist

,

 

想要查找后台进程又只想用python:

  1. def search_tasklist(file='python'):
  2. import subprocess
  3. res = subprocess.run('tasklist',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
  4. l=str(res.stdout).split(r"\r\n")
  5. ll=[i for i in l if file in i]
  6. return(str(res.stdout).count(file),ll)
  7. def main():
  8. print(search_tasklist('python'))
  9. if __name__=='__main__':
  10. main()

,

 

 

一些黑框防闪退策略
  有些依赖黑框的.py程序(偏偏会闪退)
 

1. 末尾加输入语句:

input('press<enter>')#防闪退

,

 

2.末尾用python的休眠语句:

time.sleep(100)

~前面别忘加 import time

 

3.上面提到的用.bat文件启动末尾加@pause>nul

  1. chcp 65001
  2. @echo.
  3. @echo.
  4. @python.exe love.py
  5. ::与(.py文件的)放在同一目录下
  6. @pause>nul

,

 

4.终极大杀器cmd窗口打开:

  1. cd /d F:\hello
  2. @python.exe love.py

,

 

 

最后是封面图
 

  1. # -*- coding: utf-8 -*-
  2. import win32gui, win32con
  3. '''
  4. 主要还是窗口句柄的操作
  5. 下面画心的是玩的
  6. hwnd_title句柄字典
  7. win32gui.SetWindowPos(hwnd, win32con.HWND_NOTOPMOST, 0,0,800,600, win32con.SWP_SHOWWINDOW)# 取消置顶
  8. win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0,0,800,600, win32con.SWP_SHOWWINDOW)#置顶
  9. '''
  10. hwnd_title = dict()
  11. def get_all_hwnd(hwnd,mouse):
  12. if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
  13. hwnd_title.update({hwnd:win32gui.GetWindowText(hwnd)})
  14. win32gui.EnumWindows(get_all_hwnd, 0)
  15. def print_h_t():
  16. '''打印所有句柄'''
  17. for h,t in hwnd_title.items():
  18. if t != "":
  19. print(h, t)
  20. def find_h_t(I_N='cmd.exe',notI_N='PAUSE'):
  21. '''搜索所有句柄找出含有某个字符串且不含另一个字符串的句柄'''
  22. for h,t in hwnd_title.items():
  23. if t!="":
  24. if I_N in t:
  25. if notI_N in t:
  26. pass
  27. else:
  28. #print(h, t)#测试用(这么简单肯定会错的啦)
  29. return(h)
  30. hh=find_h_t()
  31. win32gui.SetForegroundWindow(hh)#窗口设为当前活动窗口
  32. def love(z=0.071,x=0,y=0):
  33. '''
  34. z越小画的心越大
  35. 建议在0.05到0.1之间
  36. (大了会超出屏幕小了会变形自己试吧!)
  37. '''
  38. hh=find_h_t()#获得python窗口的句柄
  39. win32gui.SetWindowPos(hh, win32con.HWND_TOPMOST, x,y,18*int(3/z),37*int(1.3/z), win32con.SWP_SHOWWINDOW)
  40. #上面这句是置顶窗口
  41. print('\n'.join([''.join([('love'[(x-y) % len('love')] \
  42. if ((x*0.5*z)**2+(y*z)**2-1)**3-(x*0.5*z)**2*(y*z)**3 <= 0 else ' ') \
  43. for x in range(-1*(int(3/z)), int(3/z))]) for y in range(int(1.3/z), -1*int(1.3/z), -1)]))
  44. love()

win32gui, win32con这两个模块是在pywin32里的.最好是在cmd下pip装:

pip install pywin32 -i https://pypi.tuna.tsinghua.edu.cn/simple

当时就是这么装上去的.之前也死活装不上去,这个模块看脸的.

如果实在装不上就:

(前面的想要查找后台进程又只想用python:里面好像也能查到句柄用.bat文件也能调节窗口大小改变颜色啥的,在这里就不再聊了,自己查吧)

  1. def love(z=0.071):
  2. '''
  3. z越小画的心越大
  4. '''
  5. print('\n'.join([''.join([('love'[(x-y) % len('love')] \
  6. if ((x*0.5*z)**2+(y*z)**2-1)**3-(x*0.5*z)**2*(y*z)**3 <= 0 else ' ') \
  7. for x in range(-1*(int(3/z)), int(3/z))]) for y in range(int(1.3/z), -1*int(1.3/z), -1)]))
  8. love()

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/77174
推荐阅读
相关标签
  

闽ICP备14008679号