Legalnl
Użytkownik
- Dołączył
- Październik 8, 2008
- Posty
- 828
Siemanko
Chciałbym uruchomić 2 pliki pod rząd, i doszłem do tego ze bedzie dobrze wywaołać funkcje z shell32.dll:
no i to dziala ladnie
ale jak jest podana sciezka odrazu do zmiennej. Aja mam funkcje w DLL ktora po zrobieniu ble ble zwraca mi sciezke do pliku, i tu juz jest problem:/
function wypakuj(nazwapaczki,filenamechar):pwidechar; // funkcja zwraca sciezke w postaci ?????????????????? (system sie raczej nie domysli xD)
function wypakuj(nazwapaczki,filenamechar):pchar; // funkcja zwraca sciezke ale zeby użyć jej w ShellExecuteW, to musi być ona typu PwideChar.....
...wiec robie:
i.. zwraca mi ???????????????????????? :/
Ma ktoś jakis pomysł jak to rozwiązać, bądz jakiś inny sposob na otwarcie pliku poprzez podanie jej sciezki?? dodam ze funkcja juz uruchamia poprzez winexec i problem w tym ze juz nie chce uruchomić drugi raz pod rząd :/
Albo w BAT zapisana sciezka z polskimi znakami nie uruchamia się poniewaz nie ma poprawnego kodowania, czy ktoś mogłby mi tez pomoc w jaki sposob utworzyc poprzez delphi plik, ktory bedzie w kodowaniu DOS ??
Proszę o pomoc
Pozdrawiam
Kod:
s:PwideChar;
begin
s:= 'C:\Users\Legalnl\AppData\Local\Temp\dtmp\plik.doc';
s2 := 'C:\Users\Legalnl\AppData\Local\Temp\dtmp\plik2.doc';
ShellExecuteW(handle,'open',s,'SW_NORMAL',s,0);
ShellExecuteW(handle,'open',s2'SW_NORMAL',s2,0);
ale jak jest podana sciezka odrazu do zmiennej. Aja mam funkcje w DLL ktora po zrobieniu ble ble zwraca mi sciezke do pliku, i tu juz jest problem:/
function wypakuj(nazwapaczki,filenamechar):pwidechar; // funkcja zwraca sciezke w postaci ?????????????????? (system sie raczej nie domysli xD)
function wypakuj(nazwapaczki,filenamechar):pchar; // funkcja zwraca sciezke ale zeby użyć jej w ShellExecuteW, to musi być ona typu PwideChar.....
...wiec robie:
Kod:
p:=wypakuj('nazwa.rar','folder\plik.doc');
s:= pwidechar(p);
ShellExecuteW(handle,'open',s,'SW_NORMAL',s,0);
Ma ktoś jakis pomysł jak to rozwiązać, bądz jakiś inny sposob na otwarcie pliku poprzez podanie jej sciezki?? dodam ze funkcja juz uruchamia poprzez winexec i problem w tym ze juz nie chce uruchomić drugi raz pod rząd :/
Albo w BAT zapisana sciezka z polskimi znakami nie uruchamia się poniewaz nie ma poprawnego kodowania, czy ktoś mogłby mi tez pomoc w jaki sposob utworzyc poprzez delphi plik, ktory bedzie w kodowaniu DOS ??
Proszę o pomoc