none
設置註冊表的二進制項,怎麼傳值?幫我看下代碼出了什麼問題! RRS feed

  • 问题

  •  #region 修改主註冊表來禁用WIN鍵 CTRL+ESC鍵
    
    
    
      private void winIsDisable(string strName,int val (這個地方的類型應該是什麼類型))
    
      {
    
       string userName = txtUserName.Text.ToString();
    
       string userPassWord = txtPassWord.Text.ToString();
    
       UserAdminRule impl = new UserAdminRule(userName, userPassWord);
    
       //提升應用程序的執行權限。
    
        impl.StartImpersonate();
    
       Microsoft.Win32.RegistryKey rootKey = Microsoft.Win32.Registry.LocalMachine;
    
       Microsoft.Win32.RegistryKey runKey = rootKey.CreateSubKey(@"SYSTEM\CurrentControlSet\Control\Keyboard Layout");
    
       runKey.SetValue(strName,val(這個地方該怎麼轉換),Microsoft.Win32.RegistryValueKind.Binary);
    
       runKey.Close();
    
       
    
       impl.StopImpersonate();//結束提升權限
    
     
    
      }
    
    
    
      #endregion
    
    
    
      private void btnCloseKey_Click(object sender, EventArgs e)
    
      {
    
       try
    
       {
    
        winIsDisable("Scancode Map",???? (提供10進制數,二進制數,還是字符類型??));
    
        if (DialogResult.OK == MessageBox.Show("快捷鍵禁用成功,點擊“OK鍵”登出並用此項!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1))
    
        {
    
         
    
         LogoutOff LOGOUT = new LogoutOff();
    
         LOGOUT.DoExitWin(EWX_LOGOFF); 
    
        }
    
        
    
       }
    
       catch (Exception ex)
    
       {
    
    
    
        MessageBox.Show(ex.Message, " 提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
    
        
    
       }
    
      }
    
    
    大家幫我看看該怎麼做?
    
    

    2011年6月9日 6:42

答案