![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте, прошу помощи по данному вопросу, нужно чтобы в комбобокс попали все не занятые буквы в системе (например жесткие диски CDRom и тд), и еще один вопрос, как добавить к программе параметр например:
Если запустил в обычном режиме то запустить программу со всеми функциями. Если запустил например так programm.exe -a тогда например можно редактировать параметры. Вообще программа будет заниматься подключением нескольких сетевых хранилищ. Если вы знаете аналог того что я пишу то будет здорово) Подскажите, батники никак нельзя) Все делаю с WinExec,пробывал с NETRESOURCE и WnetAddconnection2 но чтото не срослось.. Я слышал что WnetAddconnection сама знает какой диск добавить, можно ли это както совместить? Последний раз редактировалось true, 08.12.2012 в 13:55. |
|
#2
|
||||
|
||||
|
Цитата:
Цитата:
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
true (08.12.2012)
| ||
|
#3
|
|||
|
|||
|
Вот с WnetAddconnection пробывал может чтото нетак, пример нашел в интернете
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
WNetConnectionDialog(Handle,RESOURCETYPE_DISK) ;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
reg:TRegistry;
nr: NETRESOURCE;
lpLogin, lpPassword:PChar;
Begin
reg:=Tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
reg.WriteString('Disk',Pchar((Application.ExeName)));
reg.CloseKey;
reg.Free;
ZeroMemory (@nr, SizeOf (nr));
lpLogin:=Pchar(Edit3.Text);
lpPassword:=Pchar(Edit4.Text);
if Checkbox1.Checked then
nr.dwType := RESOURCETYPE_PRINT
else
nr.dwType := RESOURCETYPE_DISK;
nr.lpLocalName := Pchar(Edit1.Text);
nr.lpRemoteName := Pchar(Edit2.Text);
nr.lpProvider :='';
If WNetAddConnection2 (nr,lpLogin, lpPassword, CONNECT_UPDATE_PROFILE) <> NO_ERROR
Then ShowMessage ('Could not connect');
end;А можно примеры к GetLogicalDrives, я так понял что он число возвращает, как мне сделать чтобы он их в латинские буквы переводил? |
|
#4
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
d: DWORD;
c: Char;
s: string;
begin
d := GetLogicalDrives;
for c := 'A' to 'Z' do
begin
if Odd(d) then s := s + c;
d := d shr 1;
end;
ShowMessage(s);
end; |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
true (08.12.2012)
| ||
|
#5
|
||||
|
||||
|
Цитата:
Попробуй эти примеры: Подключение сетевого диска Подключение сетевого диска 2 Отобразить, присоединить сетевые диски |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
true (08.12.2012)
| ||
|
#6
|
|||
|
|||
|
Здравствуйте еще раз, наверно будет неправильно создавать новую тему для такого вопроса, я может плохо искал но как правильно записать в реестр выбранный параметр combobox'a в реестр?
Комбобокс будет заполняться после каждого вызова программы Код:
ComboBox2.Items.Strings[ComboBox2.ItemIndex]):=FIniFile.ReadString('option','Combo2',ComboBox2.Items.Strings[ComboBox2.ItemIndex]));
FIniFile.WriteString('option','Combo2',ComboBox2.Items.Strings[ComboBox2.ItemIndex]);Или комбобокс нужно заполнить и сохрнить все Items? Последний раз редактировалось true, 09.12.2012 в 16:06. |
|
#7
|
||||
|
||||
|
Цитата:
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
true (09.12.2012)
| ||