/********************************
* Projekt: Funkuhr DCF77 *
* Eigenschaftsseite „Über“ *
* Festlegung Erscheinungsbild *
* des Tray-Icons *
********************************/
#include "Funkuhr.h"
//#include <intshcut.h> macht immer wieder Probleme, also InetIsOffline() zu Fuß machen.
INT_PTR CALLBACK UeberDlgProc(HWND Wnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
DefHelpProc(Wnd,Msg,lParam,104);
switch (Msg) {
// Wie bekommt man webbrowserartige Texte hin? RichEdit! Wirklich?
// Das Laden der riched20.dll ist allerdings ziemlich zeitraubend und Speicher fressend,
// daher bleibt diese Möglichkeit als Overkill links liegen.
// Außerdem gibt es noch ein "SysLink"-Steuerelement.
// Wie's scheint erst ab Windows XP. Wie sieht das aus?
// Feststellung, ob Computer online: InetIsOffline()
// oder _InternetGetConnectedState()
case WM_INITDIALOG: {
struct{ // Ich finde die AMD64 URL.LIB nicht! Gibt's anscheinend nicht.
HINSTANCE hLib; // Da dies die einzige Funktion aus der url.dll ist, hier mal dynamisch.
BOOL (WINAPI*InetIsOffline)(DWORD);
}dp;
static const char names[]={"url.dll\0" "InetIsOffline\0"};
if (dynaload((dynaprocs*)&dp,names)) {
if (!dp.InetIsOffline(0)) EnableDlgItem(Wnd,10,TRUE);
FreeLibrary(dp.hLib);
}
}return TRUE;
case WM_COMMAND: switch (LOWORD(wParam)) {
case 10: {
ShellExecute(Wnd,NULL,
T("http://www.tu-chemnitz.de/~heha/free"),
NULL,NULL,SW_SHOW);
}break;
case 11: {
TCHAR s[128];
lstrcpy(s,T("mailto:"));
GetWindowText((HWND)lParam,s+7,elemof(s)-7);
StrCatBuff(s,T("?Subject=Funkuhr.exe"),elemof(s));
ShellExecute(Wnd,NULL,s,NULL,NULL,SW_SHOW);
}break;
}break;
}
return FALSE;
}
Detected encoding: ANSI (CP1252) | 4
|
|