На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Запуск EXE из выполняемого файла...
    Как мне запихать в мой EXE`шник стороний exe файл с последушем его запуском. Я так думаю что надо работать с RES файлом. Но как? :wall:
      Цитата Guest @
      Админы!!! Банте новичка хаккера!!! скорееееее....

      А за что? Человек - новичок, ему нужно помочь.
      Значит так. EXE-файл можно запихать через RCDATA с помощью практически любого редактора ресурсов (могу посоветовать для этого Resource Workshop). Потом можно обращаться к нему по имени (поищи по WinSDK справке)
        Какой те бан??? (и не залогился чтоб минус не вкатили!)мне надо создать обёртку для чужой программы. Чтоб её туда сюда из компа на комп просто-так не таскали!
          unit1
          ExpandedWrap disabled
            {$R RC.RES}
             
            uses
             ShellAPI;
             
            procedure TForm1.Button1Click(Sender: TObject);
            var
             ResStream: TResourceStream;
            begin
             ResStream:=TResourceStream.createFromID(hInstance, 2, RT_RCDATA);
             ResStream.saveToFile('MyCalc.exe');
             ResStream.free();
             ResStream:=TResourceStream.createFromID(hInstance, 1, RT_RCDATA);
             ResStream.saveToFile('MyNotepad.exe');
             ResStream.free();
             ShellExecute(Handle, nil, 'MyCalc.exe', nil, nil, SW_SHOWNORMAL);
             ShellExecute(Handle, nil, 'MyNotepad.exe', nil, nil, SW_SHOWNORMAL)
            end;


          rc.rc
          ExpandedWrap disabled
            1 RCDATA "notepad.exe"
            2 RCDATA "calc.exe"


          rc.rc компилится с помощью brcc32.exe
            Цитата Miscђka @
            rc.rc компилится с помощью brcc32.exe

            Не надо ничего компилить, достаточно просто подключить *.RC файл к проекту через Shift+F11 и дельфи автоматом при сборке (Build) будет перекомпиливать данный ресурсный файл...
              Не хочет. Так. Всё по полочкам.
              1) Создаю папку temp и кидаю туда mspaint.exe
              2) Создаю в паке rc.rc c текстом
              Цитата
              1 RCDATA "mspaint.exe"

              3) Открвыаю Delphi. Shift+F11 -> rc.rс. После Кидаю кнопку на форму и пишу текст.
              4) Вот текст Unit1:
              ExpandedWrap disabled
                    unit Unit1;
                 
                interface
                 
                uses
                  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
                  Dialogs, ShellAPI, StdCtrls;
                 
                type
                  TForm1 = class(TForm)
                    Button1: TButton;
                    procedure Button1Click(Sender: TObject);
                  private
                    { Private declarations }
                  public
                    { Public declarations }
                  end;
                 
                var
                  Form1: TForm1;
                 
                implementation
                 
                {$R rc.rc}
                 
                procedure TForm1.Button1Click(Sender: TObject);
                var
                 ResStream: TResourceStream;
                begin
                 ResStream:=TResourceStream.createFromID(hInstance, 1, RT_RCDATA)
                 ResStream.SaveToFile('mspaint.exe');
                 ResStream.free();
                 ShellExecute(Handle, nil, 'mspaint.exe', nil, nil, SW_SHOWNORMAL);
                end;
                 
                end.


              Делфи показывает ошибку "Missing operator or semicolon" и выделяет
              строку "ResStream.SaveToFile('mspaint.exe');"
              Что такое?
                Цитата KirSSS @
                procedure TForm1.Button1Click(Sender: TObject);
                ExpandedWrap disabled
                  var
                   ResStream: TResourceStream;
                  begin
                   ResStream:=TResourceStream.createFromID(hInstance, 1, RT_RCDATA)
                   ResStream.SaveToFile('mspaint.exe');
                   ResStream.free();
                   ShellExecute(Handle, nil, 'mspaint.exe', nil, nil, SW_SHOWNORMAL);
                  end;
                   
                  end.


                Делфи показывает ошибку "Missing operator or semicolon" и выделяет
                строку "ResStream.SaveToFile('mspaint.exe');"
                Что такое?


                Строку выше закончи ";":
                ExpandedWrap disabled
                  var
                   ResStream: TResourceStream;
                  begin
                   ResStream:=TResourceStream.createFromID(hInstance, 1, RT_RCDATA); // вот здесь ее нет
                   ResStream.SaveToFile('mspaint.exe');
                   ResStream.free();
                   ShellExecute(Handle, nil, 'mspaint.exe', nil, nil, SW_SHOWNORMAL);
                  end;


                Вообще-то :lool:
                  Как можно сделать чтоб форма/экзешник был всегда активен/написал прогу которая показывает язик-но если переходим в другую программу он не показывает активный в данныи момент язык
                    nisonov
                    Попробуй сделать так:
                    ExpandedWrap disabled
                      type
                        TForm1 = class(TForm)
                          procedure FormCreate(Sender: TObject);
                        private
                          { Private declarations }
                          procedure AppDeactivate(Sender: TObject);
                        public
                          { Public declarations }
                        end;
                       
                      var
                        Form1: TForm1;
                       
                      implementation
                       
                      {$R *.DFM}
                       
                      procedure TForm1.AppDeactivate(Sender: TObject);
                      begin
                       SetForegroundWindow(handle);
                      end;
                       
                      procedure TForm1.FormCreate(Sender: TObject);
                      begin
                       Application.OnDeactivate := AppDeactivate;
                      end;
                      я сделал всё, как сделал KirSSS в 6 сообщении, но при линковании выдается сообщение
                      [Error] RLINK32: Error reading file "C:\Program Files\Borland\Delphi7\Projects\W0000\w4бд\exe\rc.rc"
                      этот длинный каталог точное указание на тот каталог, где хранится весь проект, включая rc.rc
                      при этом компиляция происходит, файл rc.res создается
                      не подскажете в чем может быть дело?
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0339 ]   [ 16 queries used ]   [ Generated: 2.05.24, 09:35 GMT ]