{ Science  Technology  Engineering  Mathematics }     |     Phnom Penh, Cambodia    |    Fantastic service at a fair price
STEM Phnom Penh
  • Home
  • Services
    • Tuition >
      • Courses
    • Training
    • Prototypes and Customs
    • Educational Robotics >
      • MB2 CCE robot >
        • Example Code - Javascript
        • Example Code - Python
        • MB2 CCE Calibration
  • Contact
  • Friends
  • Pages
  • SWM app embed test

កំុព្យូទរ័អ្នកត្រូវខ្មោចលងហើយ! វាយអក្សរខ្មោចតាមកម្មវិធី python ។

10/6/2015

Comments

 
Picture
ប្រើកម្មវិធី python ដ៏ងាយស្រួលនេះដើម្បីលងកំុព្យូទរ័ ។វាដំណើរការយ៉ាងស្ងៀមស្ងាត់នៅផ្ទៃខាងក្រោយកំុព្យូទរ័, ហើយវាផ្ញើរព្រឺត្តិការណ៏វាយអក្សរទៅបញ្ចាំងលើកញ្ចក់កំុព្យូទរ័ដែលអ្នកចង់បាន។អ្នកអាចចម្លងរឿងខ្មោចចូលក្នុងឯកសារអត្តបទមួយ ហើយកំណត់កម្មវិធីអោយវាចាប់ផ្តើមវាយអក្សរចេញមកនៅពេលណាក៏បាន។

តើវាប្រសើរសំរាប់អ្វី ?

អាចប្រើវាដើម្បីវង្វេង/បំភយ័មនុស្ស, ក៏ដូចជាធ្វើអោយលំដាប់វាយអក្សរ ដែលអ្នកញឹកញាប់ប្រើ ដំណើរការដោយស្វយ័ប្រវត្តិ ។ កម្មវិធីនេះដំណើរការតែលើកញ្ចក់កំុព្យូទរ័ដែលមានដំឡើងកម្មវិធី Python 2  រួចជាមុន។អ្នកក៏អាចនឹងត្រូវការដំឡើង ម៉ូឌុល pywin32 ។
ghosttyping.pyw
File Size: 4 kb
File Type: pyw
Download File

ghost.txt
File Size: 0 kb
File Type: txt
Download File

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
# Small python script to ghost type on any focused window in windows.
# Based upon code by Michel Claveau: 
# https://mail.python.org/pipermail/python-win32/2013-July/012862.html

import win32api,time,win32con,random

def typethis(sentence=None,shift=False,control=False,delay=0.05,random_delay=0.05):
    for letter in sentence:
        time.sleep(random.random()*random_delay) # Makes it look like real typing
        c=letter
        punctflag = True
        if (letter>='A' and letter<='Z') or shift:
            win32api.keybd_event(win32con.VK_SHIFT, 0, 0, 0)
            punctflag = False
        if letter>='a' and letter<='z':
            c=letter.upper()
            punctflag = False
        if ((letter>='0' and letter<='9') or (letter==' ')):
            punctflag=False
        if control:
            win32api.keybd_event(win32con.VK_CONTROL, 0, 0, 0)

        if not punctflag: # Do this for real letters on the keyboard
            if isinstance(letter,(int)):
                ordletter=letter
            else:
                ordletter=ord(c)

            win32api.keybd_event(ordletter, 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0) 
            time.sleep(delay)
            win32api.keybd_event(ordletter, 0, win32con.KEYEVENTF_EXTENDEDKEY | 
                        win32con.KEYEVENTF_KEYUP, 0)
            time.sleep(delay)

            if control:
                win32api.keybd_event(win32con.VK_CONTROL, 0, win32con.KEYEVENTF_KEYUP, 0)
            if (letter>='A' and letter<='Z') or shift:
                win32api.keybd_event(win32con.VK_SHIFT, 0, win32con.KEYEVENTF_KEYUP, 0)
        # This must be some punctuation - try to deal with it. 
        # win32con doesn't include OEM
        else: 
            if letter=='.':
                win32api.keybd_event(190, 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0)
                time.sleep(delay)
                win32api.keybd_event(190, 0, win32con.KEYEVENTF_EXTENDEDKEY | 
                win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)
            elif letter==',':
                win32api.keybd_event(188, 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0)
                time.sleep(delay)
                win32api.keybd_event(188, 0, win32con.KEYEVENTF_EXTENDEDKEY | 
                win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)
            elif letter=='-':
                win32api.keybd_event(189, 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0)
                time.sleep(delay)
                win32api.keybd_event(189, 0, win32con.KEYEVENTF_EXTENDEDKEY | 
                win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)
            elif letter=='?':
                win32api.keybd_event(win32con.VK_SHIFT, 0, 0, 0)
                time.sleep(delay)
                win32api.keybd_event(191, 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0)
                time.sleep(delay)
                win32api.keybd_event(191, 0, win32con.KEYEVENTF_EXTENDEDKEY | 
                win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)
                win32api.keybd_event(win32con.VK_SHIFT, 0, win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)
            elif letter=='!':
                win32api.keybd_event(win32con.VK_SHIFT, 0, 0, 0)
                time.sleep(delay)
                win32api.keybd_event(ord('1'), 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0)
                time.sleep(delay)
                win32api.keybd_event(ord('1'), 0, win32con.KEYEVENTF_EXTENDEDKEY | 
                win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)
                win32api.keybd_event(win32con.VK_SHIFT, 0, win32con.KEYEVENTF_KEYUP, 0)
                time.sleep(delay)

    win32api.keybd_event(13, 0, win32con.KEYEVENTF_EXTENDEDKEY | 0, 0) 
    # There is a carriage return at the end of each newline
    
    if delay>0.0:
        time.sleep(delay)
        win32api.keybd_event(13, 0, win32con.KEYEVENTF_EXTENDEDKEY | 
        win32con.KEYEVENTF_KEYUP, 0)

def typefromfile(filename):
    with open(filename, 'r') as fopen: # with automatically closes the file
        for line in fopen:
            typethis(line)

time.sleep(3)  # switch focus to a target window manually in this time.

# Edit below this point to change what it types. 
# Supports lowercase and uppercase letters,
# numbers, and . , - ! ? (depending on your keyboard layout)

typethis("What is happening?")

typefromfile("C:/Users/User/Desktop/ghost.txt")

#typethis("all this should be in capslock", shift=True)

របៀបប្រើប្រាស់

ទាញយក ghosttyping.pyw ហើយបើកវាក្នុង editor មួយ។ផ្លាស់ប្តូរជួរបន្ទាត់ទី ៩៤, ១០០ នឹង ទី ១០២ ទៅតាមបំណងសកម្មភាពឯកសារដែលអ្នកចង់បាន។អ្នកអាចធ្វើអោយវាផ្អាក, អោយវាវាយអក្សរជាជួរៗ, ឬអោយវាអានពីឯកសារ, តាមលំដាប់ណាមួយ, តាមចំនួនដងណាមួយ ក៏បាន។ឯកសារជាមួយនឹងផ្នែកបន្ថែមរបស់ .pyw (.pyw extension) នឹងដំណើរការដោយមើលមិនឃើញលើកញ្ចក់កំុព្យូទរ័ ពេលអ្នកចុចទ្វេរដងលើវា។យ៉ាងណាមិញ, បើសិនជាអ្នកត្រូវការបំបាត់កំហុសកូដ រួចហើយរក្សារទុកឯកសារជាម្តងទៀតនោះ វានឹងដំណើរការកូដនៅក្នុងបន្ទាត់ពាក្យបញ្ជារ (command line) ហើយវានឹងបង្ហាញអ្នកពត៌មានអំពីកំុហុសដែលកើតឡើង។

ក្បាច់នឹងល្បិចខ្លះៗដើម្បីធ្វើអោយវាកាន់តែប្រសើរឡើង

រកមើលកូដ Virtual Keyboard ដ៏ទៃទៀតដើម្បីពង្រីកកម្មវិធីនេះទៀត។ដឹងពីកូដមឺនុយចាប់ផ្តើម ( Start Menu codes ) បាននយ័ថាអ្នកអាចចាប់ផ្តើមកម្មវិធី ដូចជាកម្មវិធីរុករក (browser) ឬកម្មវិធីវាយអត្ថបទ (word-processor) ដោយស្វយ័ប្រវត្ត័ មុនពេលដែលអ្នកវាយអត្ថបទណាមួយចូលបន្ថែមទៀត។ប្រើ typethis(“b”,control=True) ដើម្បីកំណត់ពុម្ពអក្សរដិត ក្នុងអត្ថបទ។ប្រើ time.sleep(300) ដើម្បីអោយកម្មវិធីវាយអក្សរខ្មោច រងចាំ ៥ នាទីមុនពេលវាធ្វើសកម្មភាព ។ប្រើ typethis(“t”,control=True) ដើម្បីបើកផ្ទាំងរុករកថ្មីមួយ, រួចហើយបញ្ចូលអាសយ័ដ្ឋានវេបសាយណាមួយដែលអ្នកចង់បាន - typethis() ចុចបញ្ចូលដោយស្វយ័ប្រវត្ថិរាល់ដងក្រោយពេលអ្នកប្រេីវា, ហើយវានឹងបើកទំពរ័រុករកនោះដោយខ្លួនឯង។

យល់ដឹងកាន់តែច្រើនទៀតនៅ colab/hackerspace ដោយឥតគិតថ្លៃ។ គ្រាន់តែប្រាប់យើងពីចំណាប់អារម្មណ៏របស់អ្នកនឹងពេលវេលា ហើយយើងនឹងព្យាយាមទទួលស្វាគមន៏អ្នក។

ទទួលបង្រៀនគួរផ្ទាល់ខ្លួន ដើម្បីរៀន python/programming នឹងមុខវិជ្ជាទាក់ទងឯទៀតពី STEM Phnom Penh ។ ថ្នាក់បង្រៀនគួរផ្ទាល់ខ្លួនដ៏អស្ចារ្យ - តំលៃត្រឹមត្រូវ។

Comments
    All posts in English
    អត្ថបទទាំងអស់ជាភាសាខ្មែរ
    New entries coming soon!

    Archives

    June 2015
    May 2015

    Categories

    All
    123d
    3d
    3d Printing
    Bearings
    Blender
    Camera
    English
    Ghost
    Gimbal
    Google
    Guest Post
    Keyboard
    Keywords
    Khmer
    Programming
    Project
    Python
    Script
    SEO
    Sketchup
    Super Cheap
    Video
    Website

    RSS Feed

Copyright © 2015-2017 Chea Jofeh Co., Ltd. - all rights reserved

Contact info at stemphnompenh dot com for more information