예제 #1
0
def WndProc(hwnd, msg, wParam, lParam):

    if msg == WM_PAINT:
        hdc, ps = win32gui.BeginPaint(hwnd)
        rect = win32gui.GetClientRect(hwnd)
        _str = u'请把【工作日志】目录拖拽到这!'
        win32gui.DrawText(hdc, _str,
                          len(_str) * 2, rect,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER)
        win32gui.EndPaint(hwnd, ps)
        win32gui.DragAcceptFiles(hwnd, 1)
    elif msg == WM_DESTROY:
        win32gui.PostQuitMessage(0)
    elif msg == WM_DROPFILES:
        hDropInfo = wParam
        filescount = win32api.DragQueryFile(hDropInfo)
        for i in range(filescount):
            filename = win32api.DragQueryFile(hDropInfo, i)
            files = get_files_list(filename)
            for _f in files:
                if not isSpecialDir(_f):
                    fileHandler(_f)

        win32api.DragFinish(hDropInfo)

    return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
예제 #2
0
def WndProc(hwnd, msg, wParam, lParam):

    if msg == WM_PAINT:
        hdc, ps = win32gui.BeginPaint(hwnd)
        rect = win32gui.GetClientRect(hwnd)
        _str = u'请把【星任务】文件拖拽到这!'
        win32gui.DrawText(hdc, _str,
                          len(_str) * 2, rect,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER)
        win32gui.EndPaint(hwnd, ps)
        win32gui.DragAcceptFiles(hwnd, 1)
    elif msg == WM_DESTROY:
        win32gui.PostQuitMessage(0)
    elif msg == WM_DROPFILES:
        hDropInfo = wParam
        filescount = win32api.DragQueryFile(hDropInfo)
        for i in range(filescount):
            filename = win32api.DragQueryFile(hDropInfo, i)
            if os.path.isdir(filename):
                _files = scan_files(filename)
            else:
                _files = [filename]

            if len(_files) > 0:
                for _f in _files:
                    fileHandler(_f)
        win32api.DragFinish(hDropInfo)

    return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
예제 #3
0
def WndProc(hwnd, msg, wParam, lParam):
    """
    视窗处理
    :param hwnd: 句柄
    :param msg: 消息
    :param wParam: 参数1
    :param lParam: 参数2
    :return: 下一个消息处理器
    """

    if msg == WM_PAINT:
        hdc, ps = win32gui.BeginPaint(hwnd)
        rect = win32gui.GetClientRect(hwnd)
        _str = u'请把【项目经理:日报】文件拖拽到这!'
        win32gui.DrawText(hdc, _str,
                          len(_str) * 2 - 4, rect,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER)
        win32gui.EndPaint(hwnd, ps)
        win32gui.DragAcceptFiles(hwnd, 1)
    elif msg == WM_DESTROY:
        win32gui.PostQuitMessage(0)
    elif msg == WM_DROPFILES:
        """文件拖拉消息
        """
        hDropInfo = wParam
        filescount = win32api.DragQueryFile(hDropInfo)
        for i in range(filescount):
            """获取文件名"""
            filename = win32api.DragQueryFile(hDropInfo, i)
            """处理文件"""
            fileHandler(hwnd, filename)
        win32api.DragFinish(hDropInfo)

    return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
예제 #4
0
    def OnDropFiles(self, msg):
        " Handle a file being dropped from file manager "
        hDropInfo = msg[2]
        self.frame.SetActiveWindow()  # active us
        nFiles = win32api.DragQueryFile(hDropInfo)
        try:
            for iFile in range(0, nFiles):
                fileName = win32api.DragQueryFile(hDropInfo, iFile)
                win32ui.GetApp().OpenDocumentFile(fileName)
        finally:
            win32api.DragFinish(hDropInfo)

        return 0
예제 #5
0
파일: dndreaders.py 프로젝트: mpm2050/Raven
 def _getDropFileList(self, stgMedium):
     rval = []
     hDropInfo = stgMedium.data_handle
     nFiles = win32api.DragQueryFile(hDropInfo)
     try:
         for iFile in range(0, nFiles):
             filepath = shell.DragQueryFileW(hDropInfo, iFile)
             filepath = os.path.abspath(filepath)
             fileExists = os.path.exists(filepath)
             if fileExists:
                 rval.append(filepath)
     finally:
         win32api.DragFinish(hDropInfo)
         return rval
예제 #6
0
 def onDropFiles(self, params):
     msg = win32mu.Win32Msg(params)
     hDrop = msg._wParam
     inclient, point = Sdk.DragQueryPoint(hDrop)
     # convert from client to canvas pixel coordinates
     # for the benefit of scrolling views
     x, y = self._DPtoLP(point)
     # accept only drops in client area
     if inclient:
         numfiles = win32api.DragQueryFile(hDrop, -1)
         for ix in range(numfiles):
             filename = win32api.DragQueryFile(hDrop, ix)
             self.onDropEvent(DropFile, (x, y, filename))
     win32api.DragFinish(hDrop)
예제 #7
0
파일: mouse.py 프로젝트: nicoyanez/wiiboard
import win32api, win32con
import time
import math
win32api.SetCursorPos((100, 5))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
for i in range(50):
    x = 500 + math.sin(math.pi * i / 100) * 500
    y = 500 + math.cos(i) * 100
    #win32api.SetCursorPos((math.trunc(x),math.trunc(y)))
    try:
        print " el mouse " + str(win32api.GetCursorPos())
        win32api.DragFinish(x, y)
        #print " el mouse "+str(win32api.mouse_event.__str__)
    except (e):
        print "error " + str(e)
    #win32api.SetCursorPos((math.trunc(x),math.trunc(y)))
    #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
    #print str(math.trunc(x))+" \t"+str(math.trunc(y))
    time.sleep(.01)
#win32api.SetCursorPos((100,5))
#win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)