mirror of
https://github.com/veracrypt/VeraCrypt
synced 2024-11-27 13:33:29 +01:00
Windows: during Setup, and if VeraCrypt already installed, open online help only if PC connected to Internet
This commit is contained in:
parent
4cb4ec3500
commit
662b8d1b2f
@ -18,6 +18,7 @@
|
||||
#include <dbt.h>
|
||||
#include <Setupapi.h>
|
||||
#include <aclapi.h>
|
||||
#include <Netlistmgr.h>
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
#include <math.h>
|
||||
@ -11223,10 +11224,18 @@ void Applink (const char *dest)
|
||||
|
||||
if (buildUrl)
|
||||
{
|
||||
// in case of setup, always open the online documentation because existing documentation may be outdated
|
||||
// in case of setup, open the online documentation if we are connected to Internet because existing documentation may be outdated
|
||||
#ifdef SETUP
|
||||
StringCbPrintfW (url, sizeof (url), L"https://www.veracrypt.fr/en/%s", page);
|
||||
buildUrl = FALSE;
|
||||
if (IsInternetConnected())
|
||||
{
|
||||
StringCbPrintfW (url, sizeof (url), L"https://www.veracrypt.fr/en/%s", page);
|
||||
buildUrl = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCbPrintfW (url, sizeof (url), L"file:///%sdocs/html/en/%s", installDir, page);
|
||||
CorrectURL (url);
|
||||
}
|
||||
#else
|
||||
StringCbPrintfW (url, sizeof (url), L"file:///%sdocs/html/en/%s", installDir, page);
|
||||
CorrectURL (url);
|
||||
@ -15233,6 +15242,33 @@ void PasswordEditDropTarget::GotDrop(CLIPFORMAT format)
|
||||
}
|
||||
|
||||
|
||||
// check if the PC is connected to the internet using INetworkListManager interface
|
||||
BOOL IsInternetConnected()
|
||||
{
|
||||
HRESULT hr;
|
||||
BOOL isConnected = FALSE;
|
||||
INetworkListManager* pNetworkListManager = nullptr;
|
||||
|
||||
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = CoCreateInstance(CLSID_NetworkListManager, NULL, CLSCTX_ALL, IID_PPV_ARGS(&pNetworkListManager));
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
VARIANT_BOOL isConnectedVariant;
|
||||
hr = pNetworkListManager->get_IsConnectedToInternet(&isConnectedVariant);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
isConnected = isConnectedVariant == VARIANT_TRUE;
|
||||
}
|
||||
pNetworkListManager->Release();
|
||||
}
|
||||
CoUninitialize();
|
||||
}
|
||||
|
||||
return isConnected;
|
||||
}
|
||||
|
||||
/*
|
||||
* Query the status of Hibernate and Fast Startup
|
||||
*/
|
||||
|
@ -597,6 +597,7 @@ DWORD FastResizeFile (const wchar_t* filePath, __int64 fileSize);
|
||||
#ifdef _WIN64
|
||||
void GetAppRandomSeed (unsigned char* pbRandSeed, size_t cbRandSeed);
|
||||
#endif
|
||||
BOOL IsInternetConnected();
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user