Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.216.36] |
|
Сообщ.
#1
,
|
|
|
Как мне запихать в мой EXE`шник стороний exe файл с последушем его запуском. Я так думаю что надо работать с RES файлом. Но как?
|
Сообщ.
#2
,
|
|
|
А за что? Человек - новичок, ему нужно помочь. Значит так. EXE-файл можно запихать через RCDATA с помощью практически любого редактора ресурсов (могу посоветовать для этого Resource Workshop). Потом можно обращаться к нему по имени (поищи по WinSDK справке) |
Сообщ.
#3
,
|
|
|
Какой те бан??? (и не залогился чтоб минус не вкатили!)мне надо создать обёртку для чужой программы. Чтоб её туда сюда из компа на комп просто-так не таскали!
|
Сообщ.
#4
,
|
|
|
unit1
{$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 1 RCDATA "notepad.exe" 2 RCDATA "calc.exe" rc.rc компилится с помощью brcc32.exe |
Сообщ.
#5
,
|
|
|
Цитата Miscђka @ rc.rc компилится с помощью brcc32.exe Не надо ничего компилить, достаточно просто подключить *.RC файл к проекту через Shift+F11 и дельфи автоматом при сборке (Build) будет перекомпиливать данный ресурсный файл... |
Сообщ.
#6
,
|
|
|
Не хочет. Так. Всё по полочкам.
1) Создаю папку temp и кидаю туда mspaint.exe 2) Создаю в паке rc.rc c текстом Цитата 1 RCDATA "mspaint.exe" 3) Открвыаю Delphi. Shift+F11 -> rc.rс. После Кидаю кнопку на форму и пишу текст. 4) Вот текст Unit1: 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');" Что такое? |
Сообщ.
#7
,
|
|
|
Цитата KirSSS @ 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');" Что такое? Строку выше закончи ";": 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; Вообще-то |
Сообщ.
#8
,
|
|
|
Как можно сделать чтоб форма/экзешник был всегда активен/написал прогу которая показывает язик-но если переходим в другую программу он не показывает активный в данныи момент язык
|
Сообщ.
#9
,
|
|
|
nisonov
Попробуй сделать так: 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; |
Сообщ.
#10
,
|
|
|
я сделал всё, как сделал KirSSS в 6 сообщении, но при линковании выдается сообщение
[Error] RLINK32: Error reading file "C:\Program Files\Borland\Delphi7\Projects\W0000\w4бд\exe\rc.rc" этот длинный каталог точное указание на тот каталог, где хранится весь проект, включая rc.rc при этом компиляция происходит, файл rc.res создается не подскажете в чем может быть дело? |