Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Звонилка, блин! 19.10.01 22:21
Автор: Newer Статус: Незарегистрированный пользователь
|
Помогите! Облазил почти всю MSDN но не нашел ничего дельного по поводу того, как можно в Win95/98 программно получить установки для дозвона к Dial-Up провайдерам. Я имею в виду Login и Password. Ничего не нашел по поводу Параметров Дозвона (Dialing Properties), т.е. Pulse/Tone. Хотел быстренько написать звонилку, а оказалась быстренько не удается. Добывать данные через функции реестра как-то не элегантно, да и по поводу Password я там ничего не нашел. Говорят есть какой-то кэш в Windows, где хранятся пароли и логины, может кто знает? Но ведь как-то Windows помнит об этих установках, блин!
|
 |
[C++] Держи 19.10.01 22:51
Автор: Tamas Статус: Member
|
#include <windows.h>
#include <stdio.h>
typedef struct tagPASSWORD_CACHE_ENTRY {
WORD cbEntry; // size of this entry, in bytes
WORD cbResource; // size of resource name, in bytes
WORD cbPassword; // size of password, in bytes
BYTE iEntry; // entry index
BYTE nType; // type of entry
BYTE abResource[1]; // start of resource name
// password immediately follows resource name
} PASSWORD_CACHE_ENTRY;
char *buf, *ob1;
BOOL CALLBACK pce(PASSWORD_CACHE_ENTRY *x, DWORD)
{
memmove(buf, x->abResource, x->cbResource);
buf[x->cbResource] = 0;
CharToOem(buf, ob1);
printf("%-30s : ", ob1);
memmove(buf, x->abResource+x->cbResource, x->cbPassword);
buf[x->cbPassword] = 0;
CharToOem(buf, ob1);
printf("%s\n", ob1);
return TRUE;
}
int main()
{
buf = new char[1024];
ob1 = new char[1024];
puts("No security in this crazy world!\n"
"Win95 PWL viewer (c) 1997 Vitas Ramanchauskas\n"
"http://webdon.com, e-mail: vitas@webdon.com vitas@rocketmail.com, ICQ:3024702\n\n"
*********\n"
"!DISCLAIMER!\n"
"!This program intended to be used for legal purpose only!\n"
*********\n\nPress Enter to begin...\n");
getchar();
HINSTANCE hi = LoadLibrary("mpr.dll");
if(!hi)
{
puts("Couldn't load mpr.dll");
return -1;
}
WORD (__stdcall *enp)(LPSTR, WORD, BYTE, void*, DWORD) =
(WORD (__stdcall *)(LPSTR, WORD, BYTE, void*, DWORD))GetProcAddress(hi, "WNetEnumCachedPasswords");
if(!enp)
{
puts("Couldn't import function");
return -1;
}
(*enp)(0,0, 0xff, pce, 0);
FreeLibrary(hi);
return 0;
}
|
 |  |
[C++] Куча сэнксов! 20.10.01 22:15
Автор: Newer Статус: Незарегистрированный пользователь
|
|
|
|