winexec fonksiyonunun kullanımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

winexec fonksiyonunun kullanımı

Mesaj gönderen sarp_halit »

merhaba arkadaşlar.
winexec komutu kullanarak windows un sistem klasörlerindeki programları nasıl çalıştırabilirim. bir fonksiyon olacaktı. windirectory miydi neydi? yani programda kullanıcı hesapmakinesi çalıştırmak istediği zaman windows un sürümlerine göre sistem dizinine gidip ilgiliprogramı çalıştıracak.

şimdiden teşekkür ederim.
Fethiye den herkese sevgiler ...
X))@:>
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

aradığınız program çalıştırmak ise
viewtopic.php?p=11252#11252
deki mesajı okuyun.
yok aradığınız windows dizininin yeri ise başlığı daha anlaşılır bir şekilde değiştirin.

Kod: Tümünü seç

function WindowsDirectory : String;
var
  Buffer : Array[0..Max_path] of char;
begin
  FillChar(Buffer,Max_Path + 1, 0);
  GetWindowsDirectory(Buffer,Max_path);
  Result := String(Buffer);
  if Result[Length(Result)] <> '\' then Result := Result + '\';
end;
bu işe yarasada jedi kütüphanesinde daha stabil çalışan kodlar olması lazım.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

her ikisi de

Mesaj gönderen sarp_halit »

hocam öncelikle cvptan ötürü teşekkür ederim. benim amacım her ikisi yani windows root dizinindeki herhangi bir programı çalıştırmak. hesap makinesi ya da notepad gibi programlar işte.
Fethiye den herkese sevgiler ...
X))@:>
Kullanıcı avatarı
idalan
Üye
Mesajlar: 58
Kayıt: 25 Şub 2004 02:14
Konum: Üsküdar
İletişim:

Mesaj gönderen idalan »

hocam mege arkadaşımızın verdiği link tam işinizi görecektir. Okudunuzmu bilmiyorum.

Oradaki işinizi görecek kod:

Kod: Tümünü seç

WinExec(pchar('c:\windows\NOTEPAD.EXE C:\iplog.txt'), SW_SHOWNORMAL);
eğer daha farklı birşey yapacaksanız biraz daha açık yazın.
Fikren emir almazsan, esir olursun ikisinin ortası yoktur.
Kullanıcı avatarı
Marangoz
Üye
Mesajlar: 39
Kayıt: 15 May 2004 03:38

tek değil iki fonksiyon

Mesaj gönderen Marangoz »

öncelikle kullanılan windows un system klasörünü tespit eden bir fonksiyon

Kod: Tümünü seç

function bulsistemdizini: string; 
var
  dizin: array [0..max_path] of char;
begin
 GetSystemDirectory(dir, max_path);
 sonuc:=StrPas(dizin);
end;
bulunan sonucuda şöyle çalıştırabilirsiniz

Kod: Tümünü seç

WinExec(sonuc, SW_SHOWNORMAL);
iyi çalışmalar
sorun, artık sorun değil...
Kullanıcı avatarı
Marangoz
Üye
Mesajlar: 39
Kayıt: 15 May 2004 03:38

veya

Mesaj gönderen Marangoz »

veya sadece şunuda yapsan da çalışır çünkü system klasörüne path tanımlıdır default olarak.

Kod: Tümünü seç


WinExec('NOTEPAD', SW_SHOWNORMAL);

WinExec('CALC', SW_SHOWNORMAL);

olay bu kadar kolay
sorun, artık sorun değil...
Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 08:33
Konum: Ankara

Mesaj gönderen futbolcu »

Merhaba arkadaşlar,
sanırım sorunuma en uygun başlık burada.
ShellExecute ya da winexec kullanarak bir program çalıştırmam gerek.
Ancak programın exe adı da sürümüne göre değişiyor.
örneğin X05.exe-x051.exe gibi.. Kullanıcının makinesindeki x programının sürümü saptayarak ona göre winexec kod satırı yazabiliriz miyiz?
Bilgi çoğaldıkça krallar ölür
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

FileSearch

Mesaj gönderen mege »

:ara FileSearch
.-.-.-.-.-.-.-. ^_^
Cevapla