PDA

View Full Version : ارسال کی کد Esc از برنامه فعلی به یک برنامه یا پروسس دیگه



dr.pantagon
پنج شنبه 10 بهمن 1392, 18:07 عصر
سلام
دنبال راه حلی میگردم که بتونم از برنامه فعلی که در حال نوشتن هستم بتونم keycode خروج یا Escape رو به یک پروسس یا برنامه دیگه که توش تعریف شده وقتی این کد رو دریافت کرد پنجره را ببندد ارسال کنم

آیا راه حلی وجود دارد ؟ اصلا شدنی هست ؟

با تشکر

sagggad
پنج شنبه 10 بهمن 1392, 18:27 عصر
بله با توابع API امکان پذیر هست
برای اطلاعات بیشتر به تایپیک زیر مراجعه کنید:
توابع جالب ، مفید و کاربردی API و آموزش های ویدویی آنها (http://barnamenevis.org/showthread.php?437679-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-%D8%AC%D8%A7%D9%84%D8%A8-%D8%8C-%D9%85%D9%81%DB%8C%D8%AF-%D9%88-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-API-%D9%88-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%87%D8%A7%DB%8C-%D9%88%DB%8C%D8%AF%D9%88%DB%8C%DB%8C-%D8%A2%D9%86%D9%87%D8%A7&highlight=API)
ضمنا میتوانید از دستورات SendKeys استفاده کنید

Sendkeys.Send("{Esc}")
موفق باشید

mc_laren
جمعه 11 بهمن 1392, 09:57 صبح
AppActivate("Calculator")
My.Computer.Keyboard.SendKeys("{Esc}")

در دستور بالا کلید Esc رو برای ماشین حساب می فرستد.
در برنامه خودتان بجای Calculator عنوان برنامه ای که می خواهید کلید رو براش بفرستید، بنویسید.

dr.pantagon
جمعه 11 بهمن 1392, 20:45 عصر
تشکر بابابت پاسخ هاتون

اقا من ویندوزم 8 هست وقتی با
AppActivate("myapp")
My.Computer.Keyboard.SendKeys("{Esc}")

میزنم میزنه پروسس نات فاند

اومد با کد زیر پروسس آیدی رو گرفتم بعد Esc رو براش فرستاد کار نکرد
Dim Processes() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcessesByName("myapp")
Dim Process As System.Diagnostics.Process = Processes(0)
Dim id = Process.Id
Label29.Text = id

AppActivate(id)
'Thread.Sleep(2000)

SendKeys.Send("{Escape}")
My.Computer.Keyboard.SendKeys("{Escape}")

مشکل چیست به نظرتون ؟