title: What does GetModuleHandle() do in this code?
body: <p>Edited........</p>
  
  <p>sorry Sir I was referring this piece of code from Stephen Toub's article..</p>
  
  <p><pre><code>
      private static IntPtr SetHook(LowLevelKeyboardProc proc)
      {
          using (Process curProcess = Process.GetCurrentProcess())
          using (ProcessModule curModule = curProcess.MainModule)
          {
              return SetWindowsHookEx(WH_KEYBOARD_LL, proc,
                  GetModuleHandle(curModule.ModuleName), 0);
          }
      }</pre></code></p>
  
  <p>Can some one explain this to me in short...??</p>