小编Aas*_*daq的帖子

Python win32gui SetAsForegroundWindow函数无法正常工作

我正在尝试通过搜索其标题来编写一个找到窗口的程序.一旦找到窗口,它将尝试将其带到前面.我正在使用win32guiAPI来实现这一目标.我能够让它在大多数情况下工作,但由于某种原因,如果任务管理器在前面,它就不起作用.我有以下示例代码.

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)

python windows win32gui setforegroundwindow

12
推荐指数
2
解决办法
6663
查看次数

在Java中将Character数组转换为字符串

我有一个Character数组(不是char数组),我想通过组合数组中的所有字符将其转换为字符串.

我已经尝试了以下内容Character[] a:

String s = new String(a) //given that a is a Character array
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为a不是char数组.我将不胜感激任何帮助.

java string char

10
推荐指数
3
解决办法
4万
查看次数

在Java中将文本文件读入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)

java arrays file-io char bufferedreader

7
推荐指数
1
解决办法
4万
查看次数

Python线程:同时运行2个不同的函数

我有一个功能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 multithreading

4
推荐指数
1
解决办法
8607
查看次数

Tkinter 多重操作

我的问题与此类似: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)

python user-interface tkinter button frame

1
推荐指数
1
解决办法
1064
查看次数

Arduino'Hello World'打印不正确

我正在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)

这是为什么?

arduino

0
推荐指数
1
解决办法
1441
查看次数