写真はPythonのカーソルを取得します

- * -コーディング:UTF-8 - * - 
インポート  Win32APIの
 インポートwin32guiは、win32ui
 インポート時間を




しばらく真:
    time.sleep( 1) 1秒待って 
    CIを= win32gui.GetCursorInfo() カーソル情報の取得

    印刷を カーソルの種類を含み、座標ハンドル' + STR(CI) 座標、ハンドルであって、カーソルの種類を
    印刷 ' ハンドル取得はgetCursor ' STRは(win32gui.GetCursor())+ #1 win32gui.GetCursor()も取得し、取得カーソルハンドルは、ハンドルGetCursorInfo ?ない同じ、わからない理由

    IF(CI [1] == 0): いくつかの点でカーソルが非表示になりますゲームやプログラム、そのためエラー
        印刷 カーソルが消えます
        続行

    -----------------------------------------------のボイド
    E = win32gui.SetCursor(CIの[1])#変更バック古いカーソル・ハンドルタイプにカーソル
    #の印刷タイプ(E) 
    IF(E == 0): 
        印刷"にカーソルが消え、" 
        #が続行
    ------ ---------------------------------------廃止 
    II = win32gui.GetIconInfo(CI [1] )#は、カーソルの画像情報、注意を返します。パラメータが処理できないwin32gui.GetCursorは(ある)を取得するために、それ以外の場合はホット間違って読んで、なぜですか?
    印刷 カーソルパラメータ + STR(II) カーソルタイプは、ホット座標X、Y、白黒のビットマップは、ビットマップのカラー
    Iは、カラービットマップBMP画像をエクスポートするには、CIMGにC ++ビットマップで、成功しません。救うことができる簡単にそこに取り付け
    #を、私はあなたがpythonで使用できる方法があるかどうかわからない、見つからないPIL 
    BM = win32gui.GetObject(II [3]) カーソルのサイズはPyBITMAPタイプを得ることができ返し、黒と白のビットマップを取得するには、これが最良の置かれていることに注意して、ビットマップがモノクロのカーソルエラーに色を引き起こす可能性が
    印刷 ハイ + STR(bm.bmHeight)
     印刷  + STR( bm.bmWidth)

    GDC = win32gui.GetDC(0) 指定したコンテキスト0も0の解除を忘れてはならないハンドルを抽出したが示す全体画面 
    HDC = win32ui.CreateDCFromHandle(GDC) DCのターゲットを作成するためにハンドルに応じて 
    おり、hBMP = win32ui.CreateBitmap() 新しいビットマップの作成 
    hbmp.CreateCompatibleBitmap(HDC、bm.bmHeight、bm.bmWidth) セットビットマップコンテキストをし、画像のサイズと互換性を持たせる 
    HDC = hdc.CreateCompatibleDC() 画面を設定します互換性のDC 
    操作が完了するまで、メモリ内の場所を開き、画面やウィンドウを歩んでコピーし、その動作するCreateCompatibleDC相当
    #は、その後、画面のリフレッシュ完了するために、バックスクリーンへのコピー 
    hdc.SelectObject(おり、hBMP) コンテキストにビットマップを、あなたはビットマップ編集することができます

    win32gui.DrawIconEx(hdc.GetHandleOutput()、0、 0、CIを[ 。1]、bm.bmHeight、bm.bmWidth、0、なし、2) アイコンサイズの
    #のビットマップ指定されたコンテキストに描画するDrawIconEx 
    hdc.GetHandleOutputは()コンテキストハンドルを返す
    #のパラメーターを(コンテキストハンドルを配置する必要があります、Xカーソルハンドルを配置する必要があり、y座標、座標、カーソルが高い場合、カーソルの幅が、アニメーションカーソルが最初の数フレームを取る、(空であってもよい)背景ブラシ、int型描画) 
    bitmapbits hbmp.GetBitmapBits =(TRUE) 画像は、文字列に変換された

    印刷bitmapbits 
    hbmp.SaveBitmapFile(HDC、scre99t.bmp ここでの唯一のDC入れに注意してください絵のようにビットマップの保存、

    #のリソース解放 
    win32gui.ReleaseDCを(0、GDC)リリースコンテキストパラメータ(ウィンドウハンドル、コンテキスト・ハンドル)
    hdc.DeleteDC()
    win32gui.DeleteObject(hbmp.GetHandle())

疲れるのpythonやC ++は少なすぎるのライブとオンラインpywin32例に適していない、または海外に行くの例を引く、ハンドルの文脈との関係を曖昧に理解すること

しかし、ここではいくつかの質問です

1、win32gui.GetIconInfoは黒と白のビットマップと色のビットマップが含まれ、なぜ彼らは常に変化していますか?

2、win32gui.GetCursor()とGetCursorInfo()はなぜ同じ扱いとはgetCursor()ハンドルホットスポットが表示されない取得します。

3、win32gui.GetIconInfoビットマップは、直接そこにC ++の方法では、BMPとして保存することができ、パイソンを見つけることができないかどうか

おすすめ

転載: www.cnblogs.com/moshuixiong/p/11543257.html