cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 20111 24 oct. 2006 à 19:00
Si sur ton PDA il faut maintenir appuyé sur ce bouton, c'est un API spécifique.
Sur tous les PDA, on le mets "en veille" l'écran est éteint, mais la ram est alimentée
format_ton_dur
Messages postés10Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention13 mars 2007 2 nov. 2006 à 14:13
keybd_event(0xDF, 0, 1, 0);
J'ai testé une autre API qui est sensée pouvoir me donner le choix du temps de pression sur le boutton il s'agit de sendinput(); (mai ceci ne fonctionne pas) :
public struct INPUT
{
public int type;
public KEYBRDINPUT ki;
}
public struct KEYBRDINPUT
{
public int wVk;
public int wScan;
public int dwFlags;
public int time;
public int dwExtraInfo;
}
INPUT ipt = new INPUT();
ipt.type = 1; //INPUT_KEYBOARD
ipt.ki.dwFlags = 1;
ipt.ki.wVk = 0xDF;
ipt.ki.wScan = 0;
ipt.ki.time = 3000; //temps de préssion
ipt.ki.dwExtraInfo = 0;
SendInput(1, ref ipt, Marshal.SizeOf(ipt));
Si quelqu'un a déjà réussis à éteindre son pocket par programme je suis preneur, merci:D
format_ton_dur
Messages postés10Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention13 mars 2007 2 nov. 2006 à 15:08
Comme ça ca marche ( ca le met en veille) sauf que j'ai bien mis 5000 ms pour la durée de l'événement soit 5 seconde, mais le pocket se met quand même directement enveille; une idée?????
[StructLayout(LayoutKind.Sequential)]
public struct MOUSEINPUT
{
public int dx;
public int dy;
public int mouseData;
public int dwFlags;
public int time;
public IntPtr dwExtraInfo;
}
[StructLayout(LayoutKind.Sequential)]
public struct KEYBDINPUT
{
public short wVk;
public short wScan;
public int dwFlags;
public int time;
public IntPtr dwExtraInfo;
}
[StructLayout(LayoutKind.Sequential)]
public struct HARDWAREINPUT
{
public int uMsg;
public short wParamL;
public short wParamH;
}
[StructLayout(LayoutKind.Explicit)]
public struct INPUT
{
[FieldOffset(0)]
public int type;
[FieldOffset(4)]
public MOUSEINPUT mi;
[FieldOffset(4)]
public KEYBDINPUT ki;
[FieldOffset(4)]
public HARDWAREINPUT hi;
}
void button2_Click(object sender, EventArgs e)
{
//keybd_event(0xDF, 0, 1, 0); //touche enfoncé
INPUT ipt = new INPUT();
ipt.type = 1;
ipt.ki.dwFlags = 1;
ipt.ki.wVk = 0xDF;
ipt.ki.wScan = 0;
ipt.ki.time = 5000; //5 seconde d'appuis sur le boutton
ipt.ki.dwExtraInfo = IntPtr.Zero;
SendInput(1, ref ipt, Marshal.SizeOf(ipt));
}