Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2016, 14:22   #11
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так и предлагаю убрать
Ага, и я уже ответил: спасибо за мысль.
К слову: а чем это будет по сути отличаться от консольного приложения без "{$APPTYPE CONSOLE}"?
Ship_1 вне форума Ответить с цитированием
Старый 13.12.2016, 18:06   #12
GreyScall
Пользователь
 
Аватар для GreyScall
 
Регистрация: 01.01.2011
Сообщений: 29
Лампочка

Причём тут вообще "службы"?
Цитата:
Сообщение от Аватар Посмотреть сообщение
Да, визуальное окно есть, но не создается.
Не будет окон, если их не создавать.
Цитата:
Сообщение от Ship_1 Посмотреть сообщение
а чем это будет по сути отличаться
В "консольном приложении" создаётся и показывается окно консоли.

Вот вам полный алгоритм действий:
  1. Menu > File > New > Application [ или VCL Forms Application ]
  2. Вкладка Unit1 > Правый клик > Close Page > "Save changes to Unit1.pas?" > No
  3. Menu > Project > View Source

Видим примерно такое:

Код:
program Project1;

uses
  Forms; [ или Vcl.Forms; ]

{$R *.res}

begin
  Application.Initialize;
[ тут может быть Application.MainFormOnTaskbar := True; ]
  Application.Run;
end.
Модуль Forms вам явно не нужен. Удаляем лишнее, пишем своё:

Код:
Program
      Project1;

Uses
      {$IFDEF CONDITIONALEXPRESSIONS}
            {$IF CompilerVersion < 23.0}
                  Windows,
                  Messages,
                  ActiveX,
                  ShellAPI,
                  SysUtils
            {$ELSE}
                  Winapi.Windows,
                  Winapi.Messages,
                  Winapi.ActiveX,
                  Winapi.ShellAPI,
                  System.SysUtils
            {$IFEND}
      {$ELSE}
            Windows,
            Messages,
            ActiveX,
            ShellAPI,
            SysUtils
      {$ENDIF};

Var
      DefaultExecInfo: TShellExecuteInfo;

Procedure InitGlobalVars();
Begin
FillChar(DefaultExecInfo, SizeOf(DefaultExecInfo), 0);
With DefaultExecInfo Do
      Begin
      cbSize:=SizeOf(DefaultExecInfo);
      Wnd:=0;
      lpVerb:=Nil;
      lpFile:=Nil;
      lpParameters:=Nil;
      lpDirectory:=Nil;
      nShow:=SW_SHOWNORMAL;
      fMask:=SEE_MASK_FLAG_NO_UI Or
            {$IFDEF CONDITIONALEXPRESSIONS}
                  {$IF CompilerVersion < 23.0} //TODO: Check/Fix Version ID
                        SEE_MASK_FLAG_DDEWAIT
                  {$ELSE}
                        SEE_MASK_NOASYNC
                  {$IFEND}
            {$ELSE}
                  SEE_MASK_FLAG_DDEWAIT
            {$ENDIF};
      {$IFDEF UNICODE}
            fMask:=fMask Or SEE_MASK_UNICODE;
      {$ENDIF}
      End;
End;

Procedure OpenURL(Const URL: String);
Begin
DefaultExecInfo.lpFile:=PChar(URL);
{$WARN SYMBOL_PLATFORM OFF}
Win32Check(ShellExecuteEx(@DefaultExecInfo));
{$WARN SYMBOL_PLATFORM ON}
End;

Procedure MainProc();
Var i: Integer; URL: String;
Begin
InitGlobalVars();
For i:=1 To ParamCount Do
      Begin
      URL:='https://yandex.ru/search/?text='+ExtractFileName(ParamStr(i));
      OpenURL(URL);
      End;
End;

Begin
If (ParamCount=0) Then
      Begin
      MessageBox(0, 'Error: No Params!', 'Error', MB_OK Or MB_ICONERROR);
      Exit;
      End;
CoInitializeEx(Nil, COINIT_APARTMENTTHREADED Or COINIT_DISABLE_OLE1DDE);
Try
      MainProc();
Finally
      CoUninitialize();
      End;
End.
Regards, GreyScall.
GreyScall вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как симметрично отразить фигуру(например треугольник) относительно какой либо стороны Forsaken92 Помощь студентам 1 17.12.2013 13:38
Структуры, с какой стороны подступить к решению задачи Astar Помощь студентам 2 29.06.2012 13:59
С какой стороны функция LORDIF Общие вопросы C/C++ 1 28.05.2012 22:38
C какой стороны вообще подступиться ? (дайте примерный алгоритм) Silly Student C++ Builder 1 03.10.2011 23:29
Стороны света ≈ стороны монитора Alex Cones Свободное общение 21 26.08.2010 17:15