0
我正在C#中處理客戶端/服務器應用程序。我的服務器捕獲當前的鼠標光標並將它們發送到客戶端,以便光標的光標也相應地變化。我可以檢測窗口遊標並通過二進制格式化對它們進行序列化。它工作正常,但問題是有許多遊標,不能像mspaint遊標檢測,所以我必須採取它的處理程序,並創建光標和它的nad y熱點,並將它們添加到一個arraylist並通過網絡序列化,但在10到15分鐘它thorws異常 「錯誤HRESULT E_FAIL已從一個COM Compeonet調用返回」 和cleint拋出「異常拋出的調用目標拋出」 任何人都可以指導我什麼錯誤或更好的方法來做這樣的 一些代碼是在這裏通過網絡連接鼠標光標
IntPtr curInfo = GetCurrentCursor();
Cursor cur;
Icon ic;
byte cursor = 0;
if (curInfo != null && curInfo.ToInt32() != 0)
{
cur = CheckForCusrors(curInfo);
try
{
if (!isLinuxClient)
{
if (cur == null)
{
PlatformInvokeUSER32.GetIconInfo(curInfo, out temp);
ic = Icon.FromHandle(curInfo);
//bitmap = ic.ToBitmap();
ArrayList ar = new ArrayList();
ar.Add(ic);
ar.Add(temp.xHotspot);
ar.Add(temp.yHotspot);
b.Serialize(stm, ar);
}
else
{
ArrayList ar = new ArrayList();
ar.Add(cur);
b.Serialize(stm, ar);
}
}
public Cursor CheckForCusrors(IntPtr hCur)
{
if (hCur == Cursors.AppStarting.Handle)
return Cursors.AppStarting;
else if (hCur == Cursors.Arrow.Handle)
return Cursors.Arrow;
.
.
.
else if (hCur == Cursors.PanWest.Handle)
return Cursors.PanWest;
return null;
}
`