小编a.j*_*eed的帖子

程序可防止鼠标移动

我有一个游戏的点击机器人,并没有使用它一段时间.我安装了新的(可能有一个新版本),我的机器人不再工作了.当游戏被激活时,事件似乎以某种方式被阻止.

我通过以下方式激活游戏:

shell=win32com.client.Dispatch("Wscript.Shell")
success = shell.AppActivate("Game)
Run Code Online (Sandbox Code Playgroud)

我尝试了两种移动鼠标的方法:

win32api.SetCursorPos((x,y)) 
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误.

pywintypes.error: (0, 'SetCursorPos', 'No error message is available')
Run Code Online (Sandbox Code Playgroud)

另一种方法是:

nx = int(x*65535/win32api.GetSystemMetrics(0))
ny = int(y*65535/win32api.GetSystemMetrics(1))
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_MOVE,nx,ny)
Run Code Online (Sandbox Code Playgroud)

这不起作用,并没有给我一个错误信息.

当游戏窗口未激活时,光标移动没有问题.

有人知道解决方法吗?

编辑:我正在使用Microsoft Windows 8.1

python winapi python-3.x

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

从更多维的numpy数组中查找和删除

我有两个numpy数组:

p_a_colors=np.array([[0,0,0],
                     [0,2,0],
                     [119,103,82],
                     [122,122,122],
                     [122,122,122],
                     [3,2,4]])

p_rem = np.array([[119,103,82],
                     [122,122,122]])
Run Code Online (Sandbox Code Playgroud)

我想删除p_rem中p_a_colors中的所有列,所以我得到:

p_r_colors=np.array([[0,0,0],
                    [0,2,0],
                    [3,2,4]])
Run Code Online (Sandbox Code Playgroud)

我认为,有些东西应该像

p_r_colors= np.delete(p_a_colors, np.where(np.all(p_a_colors==p_rem, axis=0)),0)
Run Code Online (Sandbox Code Playgroud)

但我只是没有得到轴或[:]正确.

我知道

p_r_colors=copy.deepcopy(p_a_colors)
for i in range(len(p_rem)):
    p_r_colors= np.delete(p_r_colors, np.where(np.all(p_r_colors==p_rem[i], axis=-1)),0)
Run Code Online (Sandbox Code Playgroud)

会工作,但我试图避免(python)循环,因为我也希望性能正确.

python arrays numpy

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

SUM比循环慢

我目前正在尝试优化视图,这不是我写的.它非常复杂,使用了使用视图等功能的很多视图.所以,玩弄我可以优化的东西我有一些我无法理解的东西:我有这个功能:

create or replace FUNCTION at_get_tourenrechnungssumme_br (in_rechnr IN rechnungen.rechnr%TYPE)
      RETURN NUMBER
   IS
      CURSOR c1 (
         int_rechnr   IN rechnungen.rechnr%TYPE)
      IS
         SELECT (ROUND (
                     verrechnung.get_betrag (bt.buchid, bt.betrag_euro)*(1+b.mwst/100),
                   2))
                   betrag
           FROM buchungen_touren bt, v_buchkz b
          WHERE     bt.rechnr = int_rechnr
                AND bt.storniert_jn = 0
                AND bt.buchid = b.ID;
      int_return   NUMBER (11, 2) := 0;
   BEGIN
      FOR c1_rec IN c1 (in_rechnr)
      LOOP
         int_return := (int_return + c1_rec.betrag);
      END LOOP;

      RETURN NVL (int_return, 0);
   END at_get_tourenrechnungssumme_br;
Run Code Online (Sandbox Code Playgroud)

我只是想:循环是坏的,你可以用总和做同样的事情:

create or replace FUNCTION at_get_tourenrechnungssumme_br (in_rechnr IN rechnungen.rechnr%TYPE)
      RETURN …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

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

python win32com.client 调整窗口大小

我正在使用 Python 3.4.1 通过 win32com.client 控制 Windows 应用程序。我可以激活它,我可以发送击键、单击等。现在我想知道是否有一种方法可以调整窗口大小并将其设置到特定位置。我找不到方法。这里有一些代码片段,所以你知道我在说什么

import win32api, win32con, time, win32com.client, random, sys, winsound, datetime

...


def click_mouse(x,y, p_wait=0.1):
    win32api.SetCursorPos((x,y))    
    time.sleep(p_wait)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

def move_mouse(x,y):
    win32api.SetCursorPos((x,y))    
    time.sleep(0.5)

def activate():
    global shell
    shell=win32com.client.Dispatch("Wscript.Shell")
    success = shell.AppActivate("App")

def resize():
    global shell
???
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

从ISO-8859-2转换为ORACLE字符集AL16UTF16

您好,这是昨天的后续调查,

我有一个解析网站的PHP脚本。我现在要在UTF-8中获取字符串,我想将这些字符串插入使用以下代码的Oracle数据库中:

NLS_NCHAR_CHARACTERSET = AL16UTF16
NLS_CHARACTERSET = EE8ISO8859P2
Run Code Online (Sandbox Code Playgroud)

我已经尝试过:

$rep = iconv("UTF-8","AL-16UTF-16",$string);      
Run Code Online (Sandbox Code Playgroud)

//失败-产生?? 数据库或脚本中的错误因“错误的字符集”而失败

我也尝试过

$rep = iconv("UTF-8","ISO-8859-2",$string);
$rep1 = iconv("UTF-8","AL-16UTF-16",$rep); 
Run Code Online (Sandbox Code Playgroud)

与上述相同...失败?? 在数据库中。

有人知道下一步该怎么做吗?

php oracle encoding

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

标签 统计

python ×3

oracle ×2

python-3.x ×2

arrays ×1

encoding ×1

numpy ×1

php ×1

plsql ×1

sql ×1

winapi ×1