![]() |
|
|
Регистрация | << Правила форума >> | 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)
|