我正在尝试通过搜索其标题来编写一个找到窗口的程序.一旦找到窗口,它将尝试将其带到前面.我正在使用win32gui
API来实现这一目标.我能够让它在大多数情况下工作,但由于某种原因,如果任务管理器在前面,它就不起作用.我有以下示例代码.
import win32gui, win32con
import re, traceback
from time import sleep
class cWindow:
def __init__(self):
self._hwnd = None
def BringToTop(self):
win32gui.BringWindowToTop(self._hwnd)
def SetAsForegroundWindow(self):
win32gui.SetForegroundWindow(self._hwnd)
def Maximize(self):
win32gui.ShowWindow(self._hwnd, win32con.SW_MAXIMIZE)
def setActWin(self):
win32gui.SetActiveWindow(self._hwnd)
def _window_enum_callback(self, hwnd, wildcard):
'''Pass to win32gui.EnumWindows() to check all the opened windows'''
if re.match(wildcard, str(win32gui.GetWindowText(hwnd))) != None:
self._hwnd = hwnd
def find_window_wildcard(self, wildcard):
self._hwnd = None
win32gui.EnumWindows(self._window_enum_callback, wildcard)
def main():
sleep(5)
try:
wildcard = ".*Building Operation WorkStation.*"
cW = cWindow()
cW.find_window_wildcard(wildcard)
cW.Maximize()
cW.BringToTop()
cW.SetAsForegroundWindow()
except:
f …
Run Code Online (Sandbox Code Playgroud) 我有一个Character
数组(不是char数组),我想通过组合数组中的所有字符将其转换为字符串.
我已经尝试了以下内容Character[] a
:
String s = new String(a) //given that a is a Character array
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为a不是char数组.我将不胜感激任何帮助.
我正在读取一个文本文件并试图通过char将其存储到数组char中.我的方法(下面)预先定义了char
一个初始长度为100000 的数组(这是我的主要问题).因此,如果文件包含的字符数少于该数量(如果字符数多于此数字也会出现问题),那么我的数组中就会出现空值.我想避免这种情况.有没有办法预先确定文本文件中的字符数量?或者是否有一个更好的方法来存储char的文件char?
char buf[] = new char[100000];
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
br.read(buf);
for(int i = 0; i < buf.length; i++)
{
//Do stuff here
}
Run Code Online (Sandbox Code Playgroud) 我有一个功能foo
,只有在满足条件后才会停止.在foo
运行时,我需要一直询问用户输入(不断询问用户输入).我希望它们分开运行而不会相互干扰.
在下面的示例中,foo
继续打印"Hello"并getUserInput
继续查找用户输入.即使我没有为用户输入输入任何内容,我也希望foo继续打印你好.只要用户没有输入字母'e',它就会一直询问输入.我有以下尝试:
import threading
from time import sleep
class test:
def __init__(self):
self.running = True
def foo(self):
while(self.running):
print 'Hello\n'
sleep(2)
def getUserInput(self):
x = ''
while(x != 'e'):
x = raw_input('Enter value: ')
self.running = False
def go(self):
th1 = threading.Thread(target=self.foo)
th2 = threading.Thread(target=self.getUserInput)
th1.start()
th2.start()
t = test()
t.go()
Run Code Online (Sandbox Code Playgroud)
我的代码打印出第一个问候语并要求输入,但之后没有任何内容.我究竟做错了什么?感谢您的帮助.
我的问题与此类似:Python TKinter multiple actions。但是,提供的答案对我没有帮助,因为它指向一篇包含可能使用的函数列表的文章。我想看看该解决方案的实际实施。
我的问题:我的框架上有两个按钮。只要切换变量设置为 true,一键即可调用“执行”函数。第二个按钮将切换值设置为 False。我希望“执行”功能在按下执行按钮后继续运行,但在按下第二个(切换错误)按钮时停止。然而,一旦我按下“执行”,框架就会卡住。我理解它是因为回调。我怎样才能解决这个问题?这是我的示例代码:
from Tkinter import *
from time import sleep
class App:
def __init__(self, master):
self.toggle = False
frame = Frame(master)
frame.pack()
self.exeButton = Button(frame, text="Execute", fg="blue", command=self.execute)
self.exeButton.pack(side=LEFT)
self.tOffButton = Button(frame, text="Toggle Off", command=self.toggleOff)
self.tOffButton.pack(side=LEFT)
def execute(self):
self.toggle = True
while(self.toggle):
print "hi there, everyone!"
sleep(2)
def toggleOff(self):
self.toggle = False
root = Tk()
app = App(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我正在arduino uno上做一个样本问候世界.这是我的示例代码.
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println('Hello world');
}
Run Code Online (Sandbox Code Playgroud)
这给了我串行监视器上的奇怪输出(9600 BR).我得到以下连续输出:
27748
27748
27748
Run Code Online (Sandbox Code Playgroud)
这是为什么?