setting IE options
Tyro
Tyro
Tue Dec 4 21:56:24 PST 2007
I'm looking for some guidance on how to Internet Explorer options using functionality available in D. I am trying to make the following work but cannot since I don't have a copy of wininet.lib:
import std.c.windows.windows;
extern(Windows){
alias HANDLE HINTERNET;
struct INTERNET_PER_CONN_OPTION {
DWORD dwOption;
//union Value { DWORD dwValue; LPTSTR pszValue; FILETIME ftValue; } ; // Does not work
union { DWORD dwValue; LPTSTR pszValue; FILETIME ftValue; } ; // hopefully that does the trick
}
alias INTERNET_PER_CONN_OPTION* LPINTERNET_PER_CONN_OPTION;
struct INTERNET_PER_CONN_OPTION_LIST {
DWORD dwSize;
LPTSTR pszConnection;
DWORD dwOptionCount;
DWORD dwOptionError;
LPINTERNET_PER_CONN_OPTION pOptions;
}
alias INTERNET_PER_CONN_OPTION_LIST* LPINTERNET_PER_CONN_OPTION_LIST;
enum {
INTERNET_PER_CONN_PROXY_SERVER = 2,
INTERNET_OPTION_PER_CONNECTION_OPTION = 75
}
bool InternetSetOption(
HINTERNET hInternet,
DWORD dwOption,
LPVOID lpBuffer,
DWORD dwBufferLength
);
}
int main(char[][] args)
{
INTERNET_PER_CONN_OPTION_LIST List;
INTERNET_PER_CONN_OPTION Option[1];
ulong nSize = INTERNET_PER_CONN_OPTION_LIST.sizeof;
Option[0].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
//Option[0].Value.pszValue = "http://myproxy:8080";
Option[0].pszValue = "http://myproxy:8080"; // Is that even legal?
List.dwSize = INTERNET_PER_CONN_OPTION_LIST.sizeof;
List.pszConnection = null;
List.dwOptionCount = 1;
List.dwOptionError = 0;
List.pOptions = &Option[0];
if(!InternetSetOption(null, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, nSize))
printf("InternetQueryOption failed! (%d)\n", GetLastError());
return 0;
}
Thanks,
Andrew
More information about the Digitalmars-d-learn
mailing list