Ceci est plus une mesure provisoire qu'une solution, donc je ne vais pas marquer cela comme une solution.
Actuellement, je résous ce problème en ayant un programme générer et exécuter un fichier vbs pour entrer le nom d'utilisateur et le mot de passe de l'utilisateur. Ensuite, j'ai un autre programme qui vérifie le fichier de préférences de Chrome pour voir s'il a été configuré avec succès. Sinon, le script est relancé.
chromeConf.vbs (J'ai écrit un autre programme qui génère automatiquement ce fichier et l'exécute sur chaque ordinateur) :
Set oShell = CreateObject("WScript.Shell")
oShell.SendKeys "^{ESCAPE}" 'menu démarrer
WScript.Sleep 1000 'attendre le chargement
oShell.SendKeys "chrome.exe" 'chrome
WScript.Sleep 1000
oShell.SendKeys "{ENTER}"
return = oShell.Run("waitForFocus.exe Chrome", 0, true) 'attendre que Chrome s'ouvre
oShell.SendKeys "%{F4}" 'allez, disparais !
'Chrome doit être démarré deux fois pour garantir le même état de démarrage sur tous les ordinateurs.
oShell.SendKeys "^{ESCAPE}" 'menu démarrer
WScript.Sleep 1000 'attendre le chargement
oShell.SendKeys "chrome.exe" 'chrome
WScript.Sleep 1000
oShell.SendKeys "{ENTER}"
return = oShell.Run("waitForFocus.exe Chrome", 0, true)
oShell.SendKeys "chrome://settings" 'paramètres
oShell.SendKeys "{ENTER}"
WScript.Sleep 5000
oShell.SendKeys "{TAB}{TAB}" 'sélectionner connexion
oShell.SendKeys "{ENTER}"
WScript.Sleep 8000
oShell.SendKeys "{TAB}{TAB}" 'connexion
oShell.SendKeys "user@example.com"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{ENTER}"
WScript.Sleep 4000
oShell.SendKeys "password"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{ENTER}"
WScript.Sleep 4000
oShell.SendKeys "{TAB}" 'lien données
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{ENTER}"
WScript.Sleep 4000
oShell.SendKeys "{ESCAPE}" 'se débarrasser de la boîte de dialogue ennuyeuse
oShell.SendKeys "%{F4}" 'allez, disparais !
waitForFocus.exe source :
// waitForFocus.cpp : Ce programme attend le chargement d'une fenêtre d'un nom spécifié
#include "stdafx.h"
#include
#include
#include
using namespace std;
LPWSTR pszMem;
BOOL CALLBACK FindWindowBySubstr(HWND hwnd, LPARAM substring)
{
const DWORD TITLE_SIZE = 1024;
TCHAR windowTitle[TITLE_SIZE];
if (GetWindowText(hwnd, windowTitle, TITLE_SIZE))
{
string fstr = CW2A(windowTitle); // convertir le titre de la fenêtre en chaîne de caractères
if (fstr.find(LPCSTR(substring)) != string::npos && !(fstr.find("waitForFocus.exe") != string::npos)) { // est-ce ce que nous voulons
cout << "Trouvé la fenêtre !" << endl;
_tprintf(TEXT("%s\n"), windowTitle);
SwitchToThisWindow(hwnd, true); // Le vrai activer l'émulation alt tab qui empêche le bug de fenêtre transparente
return false;
}
}
return true;
}
int main(int argc, char* argv[])
{
if (argc > 2) {
cout << "Ce programme prend 1 argument" << endl;
cout << "L'argument doit être une partie du nom de la fenêtre que vous voulez attendre" << endl;
}
// le reste du code est omis pour des raisons de longueur et de lisibilité
validateGoogleChrome.exe source (ce programme vérifie si Chrome a été configuré. Il suppose que le nom d'utilisateur de l'ordinateur est le même que le nom d'utilisateur du compte Google Apps. Il doit également être exécuté dans %LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences
) :
// validateGoogleChrome.cpp : Définit le point d'entrée de l'application console.
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
using namespace std;
// le reste du code est omis pour des raisons de longueur et de lisibilité
Je espère que ce code vous a horrifié et vous a incité à trouver une meilleure solution.
0 votes
Vous pourriez peut-être faire quelque chose avec les commutateurs de ligne de commande
--login...
. Voir Liste des commutateurs de ligne de commande de Chromium0 votes
Il semble qu'ils aient supprimé la commande
--login-password