В Inno Setup, как мога да симулирам преместване на мишката върху системната област?

Трябва да накарам икона да изчезне от системната област. Когато преместя мишката върху него, той изчезва. Мога ли да получа Inno Setup за симулиране на движенията на мишката? Намерих код на Pascal онлайн, но не мога да го накарам да работи в Inno. Може би пропускам нещо лесно.

uses 
.... probably not all of these are necessary, but jwawinuser is at least....
  JwaTlHelp32 {for running processes},
  JwaWinType {for processes declarations},
  JwaWinBase {just a guess: for closing process handles},
  JwaWinSvc {for services declarations, always required},
  jwawinuser {for clearing tray icon/notification area},
....
procedure CleanSystemTray;
  {description Clean dead icons from system tray/notification area}
var
  hNotificationArea: HWND;
  r: RECT;
  x: integer;
  y: integer;
begin
  hNotificationArea:=FindWindowEx(
    FindWindowEx(FindWindowEx(FindWindowEx
    (0,0,'Shell_TrayWnd', ''),0,'TrayNotifyWnd', ''),0,'SysPager',''),
    0,
    'ToolbarWindow32',
    'Notification Area');
  GetClientRect(hNotificationArea,r);

  //Now we've got the area, force it to update
  //by sending mouse messages to it.
  x:=0;
  y:=0;
  while x < r.Right do begin
    while y < r.Bottom do begin
      SendMessage(hNotificationArea, WM_MOUSEMOVE, 0, (y shl 16) + x);
      y:=y+5;
    end;
    x:=x+5;
  end;
end;  

person ees    schedule 24.09.2014    source източник
comment
Преместването на мишката върху тях е странност, базирана на детайл на внедряване в Windows, и няма да работи, ако са скрити икони. Наистина трябва да коригирате приложението, което се срива и оставя иконите на място. Това беше дадено и в предишния ви въпрос.   -  person Deanna    schedule 25.09.2014
comment
Нищо не се срива. Услугата стартира и продължава да работи. Просто не искам иконата в трея. За съжаление вече нямам изходния код за услугата.   -  person ees    schedule 25.09.2014
comment
Ако процесът все още работи, преместването му няма да промени нищо. Иконата ще изчезне само при събитие с мишката, ако какъвто и процес, който я е създал, вече не се изпълнява.   -  person Deanna    schedule 25.09.2014
comment
Прав си. Разрових се и се оказа, че изпълняваме програма от Inno, която стартира услугата. Програмата извежда иконата, а не услугата. Всичко това е направено преди години от хора, които са напуснали компанията. Това, от което наистина се нуждая, е да стартирам услугата директно от Inno и да избегна цялата тази бъркотия.   -  person ees    schedule 25.09.2014
comment
Ето untested translation от този код. Но предпочитам да се доверя на this project.   -  person TLama    schedule 25.09.2014
comment
Deanna и @TLama, успях да отстраня проблема, използвайки други средства, освен изчистване на тавата с икони. Не съм тествал този превод на код TLama, но благодаря за публикуването. Ще го запазя в личното си скривалище.   -  person ees    schedule 26.09.2014
comment
Това е най-доброто, което можеш да направиш. Все пак се чудя защо MS не оправят този проблем, ако е известен поне от Windows XP, или поне предоставят функция за ръчно почистване на тези осиротели икони.   -  person TLama    schedule 26.09.2014