কোন প্রক্রিয়াটি উইন্ডোজের হটকি মালিক তা আমি কীভাবে নির্ধারণ করতে পারি?


উত্তর:


46

সতর্কতা : আপনি যদি উইন 8 বা তার পরে ব্যবহার করেন তবে এই ইউটিলিটিটি ব্যবহার করবেন না কারণ এটি কিছুটা সমস্যার সৃষ্টি করবে - মন্তব্য দেখুন।

আপনি যদি উইন্ডোজ 8 এর আগে উইন্ডোজ চালাচ্ছেন তবে Windows Hotkey Explorerসম্ভবত আপনি যা চান তা সম্ভবত এটিই। স্ট্যাকওভারফ্লো প্রশ্নে এটিও উল্লেখ করা হয়েছে: গ্লোবাল হটকি নিবন্ধিত কোন প্রক্রিয়াটি সন্ধান করুন? (উইন্ডোজ এপিআই)


32
হটকি এক্সপ্লোরার উইন্ডোজ 8-এ বেশ খারাপভাবে স্ক্রু আপ করেছেন - প্রারম্ভকালে এটি মূলত প্রতিটি হটকি "প্রেস" করে, যার ফলে সমস্ত ধরণের অদ্ভুত জিনিস ঘটেছিল, যার পরে এটি লক হয়ে যায় এবং তাকে হত্যা করতে হয়।
নাথান রিডলি

2
নিবন্ধন করুন আমি আপনার মন্তব্য আগে পড়তে ইচ্ছুক। এটি উইন 8 এবং অটোহোটকির সাথে এক ভয়ঙ্কর সমন্বয় ছিল। এই জাতীয় কীবোর্ড বাশিং কিছু মারাত্মক ক্ষতি করতে পারে।
ভাইটালিব

11
উইন্ডোজ 10-এ হটকি এক্সপ্লোরার ব্যবহার করবেন না। এটি @ নাথনরিডলি উল্লিখিত একই জিনিসটি করে। সবেমাত্র কঠিন উপায় খুঁজে পেয়েছি।
আর্টেম রাশাকোভস্কিই

5
উইন্ডোজ on. এও খুব স্ক্রু It এটি আমার প্রধান মনিটরের রেজোলিউশনটি 640x480 (মাল্টি মনিটর সেটআপ) এ পরিবর্তন করেছে।
কোস্টা

3
আমার ইচ্ছা হটকি
এক্সপোরারের

59

এটি উইন 10 এ আমার জন্য কাজ করে (এবং সম্ভবত উইন্ডোজের অন্যান্য সমস্ত এমনকি অস্পষ্ট-সাম্প্রতিক সংস্করণগুলিও) ... এখানে https://stackoverflow.com/a/43645062/995048 থেকে অনুলিপি করা হয়েছে যেহেতু এই পৃষ্ঠায় অনুসন্ধানের ফলাফলগুলি প্রথম দিকে আসে বলে মনে হচ্ছে :

একটি সম্ভাব্য উপায় ভিজ্যুয়াল স্টুডিও সরঞ্জাম স্পাই ++ ব্যবহার করা

একবার চেষ্টা করে দেখুন:

  1. সরঞ্জামটি চালান (আমার কাছে এটি প্রায় রয়েছে C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\spyxx_amd64.exe, বা spyxx.exe32-বিট প্রক্রিয়াগুলি পর্যবেক্ষণ করতে ব্যবহার করুন )
  2. মেনু বারে, স্পাই নির্বাচন করুন -> বার্তাগুলি লগ করুন ... (বা হিট Ctrl+ M)
  3. পরীক্ষা করে দেখুন সিস্টেমের সকল উইন্ডোজ মধ্যে অতিরিক্ত উইন্ডোজ ফ্রেম
  4. বার্তা ট্যাবে স্যুইচ করুন
  5. ক্লিক করুন সমস্ত সাফ বোতাম
  6. নির্বাচন WM_HOTKEYতালিকা বাক্সে, অথবা পরীক্ষা কীবোর্ড মধ্যে বার্তা গোষ্ঠীসমূহ (যদি আপনি আরো সম্ভাব্য গোলমাল সঙ্গে ঠিক আছে দর্শিত থাকবে)
  7. ক্লিক করুন ঠিক আছে বোতাম
  8. (প্রশ্নে হট-টিপুন Win+ + Rউদাহরণস্বরূপ,)
  9. বার্তা (সমস্ত উইন্ডোজ) উইন্ডোতে WM_HOTKEYলাইনটি নির্বাচন করুন , ডান ক্লিক করুন এবং প্রসঙ্গ মেনুতে বৈশিষ্ট্যগুলি নির্বাচন করুন ...
  10. ইন পাঠান প্রোপার্টি ডায়ালগ, ক্লিক করুন উইন্ডো হাতল লিঙ্ক (এই উইন্ডোটি যে বার্তা পেয়েছি জন্য হাতল হবে)
  11. ক্লিক করুন সিংক্রোনাইজ বোতাম উইন্ডো প্রোপার্টি ডায়ালগ। এটি মূল স্পাই ++ উইন্ডো ট্রিভিউতে উইন্ডোটি প্রদর্শন করবে।
  12. উপর উইন্ডো প্রোপার্টি ডায়ালগ নির্বাচন প্রক্রিয়া ট্যাব
  13. প্রক্রিয়া আইডি লিঙ্কটি ক্লিক করুন। এটি আপনাকে প্রক্রিয়াটি প্রদর্শন করবে (আমার Win+ Rক্ষেত্রে EXPLORER:)

3
এটি একটি দুর্দান্ত উত্তর, এটি অনেক ধাপ তবে পুরোপুরি বিশদ তথ্য দেয়। নোট করুন যে আপনাকে কোনওভাবে স্পাই ++ ইনস্টল করতে হবে এবং আপনাকে একটি 64 বিবিটি পিসিতে bit৪ বিট সংস্করণটি চালানো দরকার বা এটি কাজ করবে না। আমি মনে করি স্পাই ++ ইনস্টল করার 'সহজতম' উপায়টি ভিজ্যুয়াল স্টুডিও 2017 ইনস্টল করা, সি ++ পে-লোড নির্বাচন করতে ভুলবেন না। অ বিকাশকারীদের জন্য এটি কিছুটা বেশি কাজ হতে পারে।
রায় টি।

2
এটি নিখুঁত। বিস্তৃত, কিন্তু নিখুঁত!
অ্যাঙ্গুলারসেন

16
দুর্দান্ত উত্তর! কেবল একটি নোট যে স্পাই ++ এর 64৪-বিট সংস্করণটি কেবলমাত্র -৪-বিট অ্যাপ্লিকেশনগুলির জন্য বার্তাগুলি ক্যাচ করে , তাই যদি আপনি হটকি টিপে বার্তা লগটিতে WM_HOTKEYবার্তাটি না দেখেন তবে আপনাকে স্পাই ++ এর 32-বিট সংস্করণটি চালানোর প্রয়োজন হতে পারে ।
দাউদ ফেরেঞ্জি রোগোয়ান

লিঙ্কটি নতুন ডকুমেন্টেশন সাইটে আপডেট করা উচিত । ভিজ্যুয়াল স্টুডিও 2017 এর জন্য কেবলমাত্র প্রয়োজনীয় পেডলোড হ'ল " ভিজ্যুয়াল সি ++ কোর ডেস্কটপ বৈশিষ্ট্যগুলি "। অ্যাপ্লিকেশন নির্দিষ্ট হটকি লগ নেই? উদাহরণস্বরূপ, এমএস ওয়ার্ডে Ctrl + B পাঠ্যটি সাহসী করবে।
ফ্রাঙ্কলিন ইউ

এই জন্য আপনাকে অনেক ধন্যবাদ. আমি শেষ পর্যন্ত আমার কাছ থেকে সিটিআরএল শিফট এফ চুরি করছে তা জানতে পেরেছি। (এটি ছিল রেজার কর্টেক্স)। অন্য নোটটি হ'ল কখনও কখনও গুপ্তচর ++ ক্র্যাশ হয়ে যায় যখন আপনি বৈশিষ্ট্যগুলি দেখার চেষ্টা করবেন। (এবং তারপরে রিবুট হওয়া পর্যন্ত আপনি আর কোনও হুক দেখতে পাচ্ছেন না)) আমি 9 ধাপের আগে ডান ক্লিক করে এবং "লগিং বার্তা বন্ধ করুন" নির্বাচন করে এটি সমাধান করতে সক্ষম হয়েছি। এই মুহুর্তে, আমি সম্পত্তিগুলি পরীক্ষা করার চেষ্টা করার সময় এটি আর ক্র্যাশ হয় না। আবার ধন্যবাদ!
খালে_কিথা

6

এটি সম্ভবত এই থ্রেড স্ট্যাক ওভারফ্লোতে জবাব দেওয়া হয়েছে:

গ্লোবাল হটকি নিবন্ধিত কোন প্রক্রিয়াটি সন্ধান করুন? (উইন্ডোজ এপিআই)

এখানে পাউকের উত্তর:

আপনার প্রশ্নটি আমার আগ্রহকে ঘটিয়েছে, তাই আমি কিছুটা খনন করেছি এবং দুর্ভাগ্যক্রমে আমার কাছে আপনার কাছে সঠিক উত্তর নেই, আমি ভেবেছিলাম আমার যা আছে তা ভাগ করে দেই।

আমি 1998 সালে লিখিত কীবোর্ড হুক (ডেল্ফিতে) তৈরি করার এই উদাহরণটি পেয়েছি , তবে বেশ কয়েকটি টুইটের মাধ্যমে ডেলফি 2007-এ সংকলনযোগ্য।

এটি একটি ডিএলএল যার সাথে একটি SetWindowsHookExকলব্যাক ফাংশন দিয়ে যায়, যা মূল স্ট্রোকগুলিকে আটকাতে পারে: এই ক্ষেত্রে, এটি মজাদার জন্য তাদের সাথে ঝাঁকুনি দিচ্ছে, বাম কার্সারটি ডানে বামে পরিবর্তন করা ইত্যাদি etc. এটির ফলাফলটি একটি টিটাইমার ইভেন্টের ভিত্তিতে। আপনি যদি আগ্রহী হন তবে আমি ডেলফি 2007 ভিত্তিক কোডটি পোস্ট করতে পারি।

এটি ভাল নথিভুক্ত এবং মন্তব্য করেছে এবং আপনি সম্ভবত কোনও কী প্রেস চলছে সেখানে কাজ করার ভিত্তি হিসাবে এটি ব্যবহার করতে পারেন। কী স্ট্রোক প্রেরণকারী অ্যাপ্লিকেশনটির হ্যান্ডেলটি যদি আপনি পেয়ে থাকেন তবে আপনি সেভাবে এটি ট্র্যাক করতে পারেন। এই হ্যান্ডেলটি দিয়ে আপনি আপনার প্রয়োজনীয় তথ্য খুব সহজেই পেতে সক্ষম হবেন।

অন্যান্য অ্যাপ্লিকেশনগুলি তাদের শর্টকাটগুলি ধরে হটকিগুলি নির্ধারণের চেষ্টা করেছে যেহেতু সেগুলিতে একটি শর্টকাট কী থাকতে পারে যা হটকারির জন্য অন্য একটি শব্দ। তবে বেশিরভাগ অ্যাপ্লিকেশনগুলিতে এই সম্পত্তি সেট করার ঝোঁক থাকে না যাতে এটি বেশি পরিমাণে ফিরে না আসে। আপনি যদি সেই রুটে আগ্রহী হন, ডেলফির IShellLinkসিওএম ইন্টারফেসে অ্যাক্সেস রয়েছে যা আপনি শর্টকাটটি লোড করতে এবং এর হটকি পেতে ব্যবহার করতে পারেন:

uses ShlObj, ComObj, ShellAPI, ActiveX, CommCtrl;

procedure GetShellLinkHotKey;
var
  LinkFile : WideString;
  SL: IShellLink;
  PF: IPersistFile;

  HotKey : Word;
  HotKeyMod: Byte;
  HotKeyText : string;
begin
  LinkFile := 'C:\Temp\Temp.lnk';

  OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, SL));

  // The IShellLink implementer must also support the IPersistFile
  // interface. Get an interface pointer to it.
  PF := SL as IPersistFile;

  // Load file into IPersistFile object
  OleCheck(PF.Load(PWideChar(LinkFile), STGM_READ));

  // Resolve the link by calling the Resolve interface function.
  OleCheck(SL.Resolve(0, SLR_ANY_MATCH or SLR_NO_UI));

  // Get hotkey info
  OleCheck(SL.GetHotKey(HotKey));

  // Extract the HotKey and Modifier properties.
  HotKeyText := '';
  HotKeyMod := Hi(HotKey);

  if (HotKeyMod and HOTKEYF_ALT) = HOTKEYF_ALT then
    HotKeyText := 'ALT+';
  if (HotKeyMod and HOTKEYF_CONTROL) = HOTKEYF_CONTROL then
    HotKeyText := HotKeyText + 'CTRL+';
  if (HotKeyMod and HOTKEYF_SHIFT) = HOTKEYF_SHIFT then
    HotKeyText := HotKeyText + 'SHIFT+';
  if (HotKeyMod and HOTKEYF_EXT) = HOTKEYF_EXT then
    HotKeyText := HotKeyText + 'Extended+';

  HotKeyText := HotKeyText + Char(Lo(HotKey));

  if (HotKeyText = '') or (HotKeyText = #0) then
    HotKeyText := 'None';

  ShowMessage('Shortcut Key - ' + HotKeyText);
end;

আপনি যদি সাফারি বুকস অনলাইনে অ্যাক্সেস পেয়ে থাকেন তবে স্টিভ টিক্সেইরা এবং জাভিয়ের পাচেকোর বোরল্যান্ড ডেলিফি 6 বিকাশকারীদের গাইডে শর্টকাট / শেল লিঙ্কগুলির সাথে কাজ করার বিষয়ে একটি ভাল বিভাগ রয়েছে । আমার উপরের উদাহরণটি সেখান থেকে এবং এই সাইটটির একটি কসাই সংস্করণ ।

আশা করি এইটি কাজ করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.