ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

20.11.2008, 15:04
|
|
Новичок
Регистрация: 07.11.2006
Сообщений: 20
Провел на форуме: 299123
Репутация:
3
|
|
аналоги функций gzcompress, gzdeflate.... какие будут для Delphi?
|
|
|

20.11.2008, 19:50
|
|
Познающий
Регистрация: 06.09.2006
Сообщений: 94
Провел на форуме: 397064
Репутация:
15
|
|
Twiddle, берешь строку из TEdit'а, узнаешь длину(N). Потом открываешь файл и читаешь в каждой строке N-символов. Если твое, то считываешь остальное и выполняешь
вот такой вот геммор)))
Спасибо, это не геморой а идиотизм, без обид.
есть такое, уже давно... го на sourceforge.net, есть опенсурс проект... юзай поиск.
и тебе спасибо.
|
|
|

20.11.2008, 20:44
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от Twiddle
Сам только в начале пути познания делфи, поэтому идея есть а вот реализацию пока представляю плохо поэтому надеюсь поможете. Идея:
на рабочем столе хочется иметь как можно больше ярлыков нужных и частозапускаемых программ так как заходить в папку с прогарммой каждый раз что бы её запустить - меня лично напрягает, то же самое и с меню ПУСК, но при этом не хочется загромождать стол ярлыками вообще. Вот и родилась такая идея: На рабочем столе находится наша программа-форма без заголовка с одной лишь TEdit. В папке с нашей программой есть файл config.ini который содержит примерно следующее:
icq c:\icq\icq.exe
mozilla c:\Program Files\Mozilla Firefox\firefox.exe
word c:\winword\winword.exe
итд.
т.е. техника такая: мы в водим в нашу программу (TEdit) какое либо слово, программа ищет его в нашем config.ini и если находит запускает приложение идущее после введенного слова. Если нет такого слова-выводим сообщение об ошибке и ни чего не делаем. Так же хотелось бы что бы при вводе "!exit" наша программа закрывалась.Вот и все. Буду очень благодарен за подсказку реализации. С меня почет и уважение...
очередной велосипед...
добавляешь ярлык в windir и все..
function GetSysDir: string;
var
buf: array [0..MAX_PATH] of Char;
begin
GetSystemDirectory(buf, MAX_PATH);
Result:=buf;
end;
function Install(_file: string): Boolean;
var
LnkName : string;
MyObject : IUnknown;
MyIcon : IShellLink;
MyPFile : IPersistFile;
WFileName : WideString;
begin
try
CoInitialize(nil);
MyObject:=CreateComObject(CLSID_ShellLink);
MyIcon:=MyObject as IShellLink;
MyPFile:=MyObject as IPersistFile;
with MyIcon do
begin
SetArguments(PChar(''));
SetPath(PChar(_file));
SetWorkingDirectory(PChar(ExtractFilePath(_file))) ;
end;
LnkName:=Copy(ExtractFileName(_file), 1, Length(ExtractFileName(_file)) - Length(ExtractFileExt(_file)));
WFileName:=GetSysDir + '\' + LnkName + '.lnk';
MyPFile.Save(PWChar(WFileName), False);
except
Result:=False;
Exit;
end;
Result:=True;
end;
ссылка на исходник. Прога добавляющую ярлык в %windir%, писал давно, работает, полнотью на WinAPI
http://www.sendspace.com/file/1366et
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

22.11.2008, 03:31
|
|
Новичок
Регистрация: 11.05.2008
Сообщений: 27
Провел на форуме: 78594
Репутация:
0
|
|
Снова здравствуйте. Не мог раньше написать - нет отрубало. Я тут недавно задавал вопрос:
"Хочу сделать что-то типа накрутчика для сайтов... получается загружаю сайт.ru в webbrowser .
Код:
Webbrowser1.Navigate(сайт.ru);
Выискиваю все ссылки, которые есть на нём и записываю их в memo или ListBox.
Код:
for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do // Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i)); memo1.Lines.Add(Webbrowser1.OleObject.Document.Links.Item(i));
Дальше не знаю что мне делать, что б при загрузке любой ссылки из списка считалось, что я перешёл по ней с сайт.ru а не просто ввёл её в строку. Вот никак не получается это сделать.
Подсказывал мне кто-то что б использовал
Код:
WebBrowser1.Navigate2(URL, Flags, TargetFrameName, PostData, Headers);
не помогает. Всё равно показывает, что вводил новую строку, а не перешёл с сайта 
Напишите пожалуйста что нужно сделать  "
В итоге пришли к выводу, что если импользовать WebBrowser1.Navigate2 и в Headers прописывать Headers:='Referer: http://сайт2.ru'; заработало.. действительно ref ссылка передаётся и в одной партнёрке засчитывается нормально.
Другие же партнёрки не считают, что я перешёл по ссылке с сайта, а просто загрузил её как с закладки и переход по этой причине засчитан не был. Допустим просто убрать реф. программы и всё остальное.
Просто смотреть по счётчику liveinternet. Там как раз есть источники. Вот нужно сделать так, что б по переходе по ссылке в источниках появлялся сайт1.ru
Сейчас записывается в переходы без ссылки и адрес реф
А нужно, что б записывалось переходы с сайтов
И второе: как можно избавить от ошибки :"ошибка выполнения сценария" - переодически выскакивает при загрузке разных сайтов
Последний раз редактировалось Archangelus; 22.11.2008 в 03:58..
|
|
|

22.11.2008, 14:27
|
|
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме: 4612647
Репутация:
368
|
|
Как правильно удалить ключ из реестра? RegDeleteKey проверял.не сработало хз.
RegDeleteKey(HKEY_CURRENT_USER,'\Software\Microsof t\Windows\CurrentVersion\Run\prog');
верно ли использована функция?
|
|
|

22.11.2008, 16:01
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
попробуй так
RegDeleteKey(HKEY_CURRENT_USER,'Software\Microsoft \Windows\CurrentVersion\Run\prog');
если в нем есть подразделы то удалять надо по-другому
|
|
|

22.11.2008, 17:36
|
|
Участник форума
Регистрация: 16.11.2006
Сообщений: 230
Провел на форуме: 599789
Репутация:
227
|
|
http://w32api.narod.ru/functions/RegDeleteKey.html
|
|
|

22.11.2008, 19:29
|
|
Познающий
Регистрация: 08.12.2007
Сообщений: 92
Провел на форуме: 1216941
Репутация:
35
|
|
Как на делфи програмно включать и выключать микрофон?)) нашол тему в гугле:
// Enable/disable "Mute" for several mixer line sources. uses MMSystem; type TMixerLineSourceType = (lsDigital, lsLine, lsMicrophone, lsCompactDisk, lsTelephone, lsWaveOut, lsAuxiliary, lsAnalog, lsLast); function SetMixerLineSourceMute(AMixerLineSourceType: TMixerLineSourceType; bMute: Boolean): Boolean; var hMix: HMIXER; mxlc: MIXERLINECONTROLS; mxcd: TMIXERCONTROLDETAILS; vol: TMIXERCONTROLDETAILS_UNSIGNED; mxc: MIXERCONTROL; mxl: TMixerLine; intRet: Integer; nMixerDevs: Integer; mcdMute: MIXERCONTROLDETAILS_BOOLEAN; begin Result := False; // Check if Mixer is available // Uberprufen, ob ein Mixer vorhanden ist nMixerDevs := mixerGetNumDevs(); if (nMixerDevs < 1) then begin Exit; end; // open the mixer // Mixer offnen intRet := mixerOpen(@hMix, 0, 0, 0, 0); if intRet = MMSYSERR_NOERROR then begin ZeroMemory(@mxl, SizeOf(mxl)); case AMixerLineSourceType of lsDigital: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_DIGITAL; lsLine: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_LINE; lsMicrophone: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE; lsCompactDisk: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC; lsTelephone: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE; lsWaveOut: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT; lsAuxiliary: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY; lsAnalog: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_ANALOG; lsLast: mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_LAST; end; // mixerline info mxl.cbStruct := SizeOf(mxl); intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE); if intRet = MMSYSERR_NOERROR then begin ZeroMemory(@mxlc, SizeOf(mxlc)); mxlc.cbStruct := SizeOf(mxlc); mxlc.dwLineID := mxl.dwLineID; mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE; mxlc.cControls := 1; mxlc.cbmxctrl := SizeOf(mxc); mxlc.pamxctrl := @mxc; // Get the mute control // Mute control ermitteln intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE); if intRet = MMSYSERR_NOERROR then begin ZeroMemory(@mxcd, SizeOf(mxcd)); mxcd.cbStruct := SizeOf(TMIXERCONTROLDETAILS); mxcd.dwControlID := mxc.dwControlID; mxcd.cChannels := 1; mxcd.cbDetails := SizeOf(MIXERCONTROLDETAILS_BOOLEAN); mxcd.paDetails := @mcdMute; mcdMute.fValue := Ord(bMute); // set, unset mute // Stumsschalten ein/aus intRet := mixerSetControlDetails(hMix, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE); { mixerGetControlDetails(hMix, @mxcd, IXER_GETCONTROLDETAILSF_VALUE); Result := Boolean(mcdMute.fValue); } Result := intRet = MMSYSERR_NOERROR; if intRet <> MMSYSERR_NOERROR then ShowMessage('SetControlDetails Error'); end else ShowMessage('GetLineInfo Error'); end; intRet := mixerClose(hMix); end; end; // Example Call; Beispielaufruf: procedure TForm1.Button1Click(Sender: TObject); begin // Ton ausschalten SetMixerLineSourceMute(lsLine, True); end;
выбивает ошибку в "TMixerLineSourceType=(lsDigital, lsLine, lsMicrophone, lsCompactDisk,
lsTelephone, lsWaveOut, lsAuxiliary, lsAnalog, lsLast);" подскажыте в чем дело?=)))
ссылки по теме:
http://programmersforum.ru/archive/index.php/t-6517.html
http://www.delphisources.ru/pages/faq/base/chg_mic_volume_level.html
|
|
|

23.11.2008, 20:34
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме: 6128108
Репутация:
445
|
|
Как сделать logOff из аси???
Пробывал писать
ICQClient1.LogOff;
Не помогает!
|
|
|

24.11.2008, 14:59
|
|
Новичок
Регистрация: 11.05.2008
Сообщений: 27
Провел на форуме: 78594
Репутация:
0
|
|
Как сделать так, что WebBrowser загрузка сайта шла без анимации, картинок, флешек и музыки и т.п. ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|