Как запустить вирт. клавиатуру в Win7, 8 и 10?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение McLion » 19.08.2015 13:24:12

Vadim писал(а):Как выяснилось (когда я добрался до винды :-) ) запустить виртуальную клавиатуру может каждый, а закрыть её (принудительно) - только администратор компьютера. :D


У меня и админ ее закрыть не может, а только в сторону спрятать.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 13:25:06

McLion
Локальный администратор, не доменный.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение McLion » 19.08.2015 13:26:08

Vadim писал(а):McLion
Локальный администратор, не доменный.


Да локальный конечно!
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Лекс Айрин » 19.08.2015 13:30:31

разгребусь с работой буду пробовать запускать от админа... похоже, от батника не отвертеться((
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 13:38:52

McLion
С ключом /F точно убивается. Я проверил.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение McLion » 19.08.2015 13:53:07

Не охота мучить вас уже, но с "/F" вообще ничего не происходит. Если что не напрягайтесь из-за меня сильно.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 13:58:01

McLion
Клянусь своей треуголкой! Тысячу каракатиц мне в печёнку! Вот эта конструкция:
Код: Выделить всё
runas /user:Название_Моего_Компьютера\Администратор "taskkill /F /IM tabtip.exe"

убивает эту штуку навсегда. По крайней мере из списка задач она исчезает. ;-)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Лекс Айрин » 19.08.2015 13:59:47

Vadim осталось определить название компьютера
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 14:04:15

Лекс Айрин писал(а):осталось определить название компьютера

Ну есть же там всякие GetComputerName и прочие, ещё более забористые штуки...
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение McLion » 19.08.2015 14:07:03

Vadim писал(а):McLion
Клянусь своей треуголкой! Тысячу каракатиц мне в печёнку! Вот эта конструкция:
Код: Выделить всё
runas /user:Название_Моего_Компьютера\Администратор "taskkill /F /IM tabtip.exe"

убивает эту штуку навсегда. По крайней мере из списка задач она исчезает. ;-)


Так это из batch-Файла или как? Покажи весь код.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 14:14:02

McLion писал(а):...это из batch-Файла...

Из него, родного. Это и есть весь код. Если делать программный код, то без функции CreateProcessWithLogonW не обойтись, так как надо запускать taskkill от имени администратора, а не текущего пользователя.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение McLion » 19.08.2015 14:17:14

А как .bat-файл стартануть?
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 14:19:15

McLion
Из ОС или своей программы?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Лекс Айрин » 19.08.2015 14:25:16

Vadim, из проги конечно. Попытался я собрать эту строчку , но не получилось.

Добавлено спустя 33 секунды:
McLion а стартануть точно так же как и экзешник.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Как запустить вирт. клавиатуру в Win7, 8 и 10?

Сообщение Vadim » 19.08.2015 14:28:31

Код: Выделить всё
Function RunAs(prog, user, pass: string): boolean;
Var
  progaW, userW, passW: PWideChar;
  patha: string;
  pathW: PWideChar;
  size: Integer;
  si: TSTARTUPINFO;
  pif: PROCESS_INFORMATION;

Begin
  ZeroMemory(@si, sizeof(STARTUPINFO));
  si.cb := SizeOf(tstartupinfo);
  si.dwFlags := STARTF_USESHOWWINDOW;
  si.wShowWindow := SW_SHOWDEFAULT;
  si.lpReserved := nil;
  si.lpDesktop := nil;
  si.lpTitle := nil;

  pathA:=ExtractFileDir(ParamStr(0))+#0;
  size:=Length(patha)*SizeOf(WideChar);
  GetMem(pathW, size);
  StringToWideChar(pathA, pathW, size);
 
  prog:=prog+#0;
  size:=Length(prog)*SizeOf(WideChar);
  GetMem(progaW, size);
  StringToWideChar(prog, progaW, size);

  user:=user+#0;
  size:=Length(user)*SizeOf(WideChar);
  GetMem(userW, size);
  StringToWideChar(user, userW, size);

  pass:=pass+#0;
  size:=Length(pass)*SizeOf(WideChar);
  GetMem(passW, size);
  StringToWideChar(pass, passW, size);

  Result:=CreateProcessWithLogonW(userW,
                          'knb',
                          passW,
                          2,
                          NIL,
                          progaW,
                          CREATE_UNICODE_ENVIRONMENT,
                          nil,
                          pathW,
                          si,
                          pif);

  CloseHandle(pif.hProcess);
  CloseHandle(pif.hThread);
  FreeMem(pathW);
  FreeMem(progaW);
  FreeMem(userW);
  FreeMem(passW);
End;
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 231

Рейтинг@Mail.ru