Res dosyası olusturmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46


viewtopic.php?t=12479&postdays=0&postor ... a&start=30
bağlantıdaki verdiğim örnek çözümde tek bir .exe nin içinde gömülü olan diğer exe lerin ayıklanması ve peşinden çalıştırılması açıkca gösterilmiş. Eğer sende exe değil de mp3 veya avi uzantılı dosyalar varsa yöntem aynı fakat çalıştırma kısmında mplayer mi ne kullanıyorsan elde ettiğin-exe den ayıkladığın gömülü dosyanı gerekiyorsa onunla çalıştırabilirsin

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46
Dediginiz gibi yapamayınca insanda bir stres ister istemez oluyor.birde bu sitede kesinlikle herseye bir sekilde cevap verildigi için cok guveniyorum.cevap gelmeyince boyle birsey oldu.Tekrar cok ozur dilerim.rsimsek yazdı:Şahsen kırılmadım fakat olayı çözememiş olmanın verdiği gerilim/stres ister istemez bize de yansıyor
Umarım biraz daha dikkatli verilen bilgileri ve bağlantıları takip edersen çözülemiyecek bir durum yok..

sizin vermiş oldugunuz linkte yaptıklarımda bir sorun yok exeye gomuyorum ama calıstırdıgımda hata alıyorum bunu onceki msjlarımda yazdım.hdayi arkadasımda bir kod verdi bana saolsun
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, shellapi;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure SaveResourceAsFile(const ResName: string; ResType: Pchar; const FileName: string);
function SaveResourceAsTempFile(const ResName: string; ResType: pchar): string;
function GetTempDir: string;
end;
var
Form1: TForm1;
TempDosya: string;
implementation
{$R *.dfm}{$R kaynak.res}
procedure TForm1.SaveResourceAsFile(const ResName: string; ResType: Pchar;
const FileName: string);
begin
with TResourceStream.Create(hInstance, ResName, ResType) do
try
SaveToFile(FileName);
finally
Free;
end;
end;
function TForm1.SaveResourceAsTempFile(const ResName: string;
ResType: pchar): string;
begin
TempDosya := GetTempDir + 'utc.exe';
Result := TempDosya;
SaveResourceAsFile(ResName, ResType, Result);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
exedosya: string;
begin
exedosya := SaveResourceAsTempFile('hello', 'EXEC');
// ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW);
ShellExecute(Handle, 'open', pchar(exedosya), nil, nil, SW_SHOWMAXIMIZED);
end;
function TForm1.GetTempDir: string;
var
temp_klasor: array[0..MAX_PATH] of char;
begin
GetTempPath(SizeOf(temp_klasor), @temp_klasor);
result := temp_klasor;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if FileExists(TempDosya) then
DeleteFile(TempDosya);
end;
end.
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46
Ne hata verdiğini yazmamışsın
Gömülü .mp3 ü ayıklama işlemi de başarılı geçmiş (bunu çalışma esnasında kaydettiği yerde olup olmadığını araştırıp emin olabilirsin. ayrıca winamp veya mplaye ile çalacak yapıda mı onu da kontrol etmelisin) ise sadece çaldırma işlemine yoğunlaşmalısın.. 


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46
Merhabalar bu konunun uzadıgını ve sizide yordugumu biliyorum kusura bakmayın.
hdayi arkasımın vermis oldugu koda gore yapmaya calıstım
viewtopic.php?t=13381&postdays=0&postorder=asc&start=0
ama olmadı bu defada dosyamı gomemedim.program calısıyor fakat hata veriyor.ugrastıkca hataların arasından cıkamıyorum.Tam oldu diyorum bir hata daha.....dosyayı buraya atıyorum yardım ederseniz sevinirim kusura bakmayın.
http://www.hemenpaylas.com/download/907 ... e.rar.html
iyi calısmalar

hdayi arkasımın vermis oldugu koda gore yapmaya calıstım
viewtopic.php?t=13381&postdays=0&postorder=asc&start=0
ama olmadı bu defada dosyamı gomemedim.program calısıyor fakat hata veriyor.ugrastıkca hataların arasından cıkamıyorum.Tam oldu diyorum bir hata daha.....dosyayı buraya atıyorum yardım ederseniz sevinirim kusura bakmayın.
http://www.hemenpaylas.com/download/907 ... e.rar.html
iyi calısmalar
Bir iki düzeltme ile çalıştı
husonet.rc
unit1.dfm
unit1.pas
C:\husonetmp3>brcc32 husonet.rc den husonet.res i oluşturup çalıştırman yeterli.

husonet.rc
Kod: Tümünü seç
mp3_1 rcdata "husonet.mp3"
Kod: Tümünü seç
object Form1: TForm1
Left = 353
Top = 250
Width = 583
Height = 307
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 56
Top = 56
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
object SaveDialog1: TSaveDialog
Left = 296
Top = 32
end
object OpenDialog1: TOpenDialog
Left = 368
Top = 32
end
end
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, MMsystem, shellapi, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure SaveResourceAsFile(const ResName: string; ResType: Pchar; const FileName: string);
function SaveResourceAsTempFile(const ResName: string; ResType: pchar): string;
function GetTempDir: string;
end;
var
Form1: TForm1;
TempDosya: string;
implementation
{$R *.dfm}
{$R husonet.res}
procedure TForm1.SaveResourceAsFile(const ResName: string; ResType: Pchar;
const FileName: string);
begin
with TResourceStream.Create(hInstance, ResName, ResType) do
try
SaveToFile(FileName);
finally
Free;
end;
end;
function TForm1.SaveResourceAsTempFile(const ResName: string;
ResType: pchar): string;
begin
TempDosya := GetTempDir + 'husonet.mp3';
Result := TempDosya;
SaveResourceAsFile(ResName, ResType, Result);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
exedosya: string;
begin
// husonet.rc için -> C:\husonetmp3>brcc32 husonet.rc (path de değilse yolu ile yaz)
// mp3_1 rcdata "husonet.mp3" -> buradaki rcdata RT_RCDATA şeklinde yazılacak.
exedosya := SaveResourceAsTempFile('mp3_1', RT_RCDATA); // dosya adının exedosya olması önemsiz.
// ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW);
// ilişkili programla (bende winamp) gömüden (husonet.res) çıkan mp3 ü açıyor-çalıyor.
ShellExecute(Handle, 'open', pchar(exedosya), nil, nil, SW_SHOWMAXIMIZED);
end;
function TForm1.GetTempDir: string;
var
temp_klasor: array[0..MAX_PATH] of char;
begin
GetTempPath(SizeOf(temp_klasor), @temp_klasor);
result := temp_klasor;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if FileExists(TempDosya) then
DeleteFile(TempDosya);
end;
end.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46
Emeği gecen herkese cok tesekkur ederim sonunda calıstırdım.cok cok tesekkurler.Bu kodla winamptan calıstırıyoruz peki winamp olmayan makınalarda nasıl calacak.bunu baska winamp olmadan sadece programın exesinde nasıl calabiliriz.(cracklerde exeden calısıyor onlar gibi demek istedim) ilginiz için tekrar tesekkurler.
-
- Üye
- Mesajlar: 151
- Kayıt: 17 Kas 2005 04:46