PDA

View Full Version : سوال: تبدیل یک کد AutoIt به کد ++C



Nevercom
شنبه 09 خرداد 1388, 02:27 صبح
سلام دوستان،

متاسفانه من آشنایی زیادی با زبان برنامه نویسی ++C ندارم، اگر امکان داره من رو در این مورد راهنمایی بفرمایید.
این یک کد به زبان اسکریپت نویسی AutoIt هست:


Local $PrevClip = ClipGet()
Send('^c')
$Data = ClipGet()
$Data = StringReplace($Data, "'", "\'")
$script = "$SelText = '" & $Data & "'" & @CRLF & 'RunScript("GetData")'
ClipPut($PrevClip) این کد کارش این هست:


محتویات (متنی ؟) موجود در کلیپ بورد رو میگیره و در متغیر رشته ای PrevClip$ ذخیره میکنه
خط دوم کد یک CTRL+C رو به پنجره ی فعال میفرسته تا متنی که انتخاب شده، در حافظه ی کلیپ بورد کپی بشه
حالا دوباره محتویات جدید کلیپ بورد رو میگیره و در متغیر (رشته ای) Data$ میریزه
و خط بعد تمام کاراکترهای سینگل کوتیشن(') رو Escape میکنه و به این شکل تغییرش میده ('\)
خط بعد مربوط میشه به کار با متغیرهای رشته ای، که متغیر script$ به این شکل خواهد بود(اگر Data$ = Some Text):



$SelText = 'Some Text'
RunScript("GetData")

و خط آخر محتویات متغیر رشته ای PrevClip$ رو میریزه داخل حافظه ی کلیپ بورد

البته شایان ذکر هست که در این زبان مثل زبانهای برنامه نویسی حتماً نیاز نیست که یک متغیر برای استفاده از قبل تعریف شده باشه، بلکه درواقع هرجا ما ازش استفاده کردیم تعریف میشه(چون درنهایت فایل سورس به یک فایل پلیر الحاق میشه)، البته میشه اونها رو از قبل تعریف هم کرد مثل خط اول که متغیر PrevClip$ که یک متغیر رشته ای هست بصورت محلی تعریف شده.

حالا اگر امکانش هست من رو راهنمایی کنید که این کد رو در زبان ++C چطوری باید نوشت ؟!

ممنون از لطفتون.

Nevercom
دوشنبه 11 خرداد 1388, 10:18 صبح
سلام،
من دستورات رو میدونم اما نمیدونم دقیقاً باید از چه پارامترهایی استفاده کنم
مثلاً برای فرستادن یک Keyboard event هز دستور SendInput() استفاده میشه، اما درست نمیدونم چه پارامترهایی باید به این تابع بدم تا کلید CTRL+C رو بفرسته

ویا برای گرفتن مقدار کلیپ بورد از دستور GetClipboardData استفاده میشه، که مقدار برگشتی یک هندل هست به آبجکت کلیپ بورد در حافظه، حالا من باید با این آدرس چیکار کنم تا مقدار کلیپ بورد رو بتونم بدست بیارم ؟؟

ممنون میشم مقداری من رو راهنمایی بفرمایید.
تشکر