Ejemplo n.º 1
0
void
SendControls ()
{
  static struct control c[5];
  int             i;
  for (i = 0; i < 5; i++)
    {
      if (control[i] && memcmp ((char *) &controls[i], (char *) &c[i], sizeof (controls[i])))
	{
	  memcpy ((char *) &c[i], (char *) &controls[i], sizeof (controls[i]));
	  switch (c[i].type)
	    {
	    case C_KEYBOARD:
	      SendKeys (i, c[i].mask);
	      break;
	    case C_RKEYBOARD:
	      SendRotation (i, c[i].mask);
	      break;
	    case C_MOUSE:
	      SendMouse (i, c[i].mx, c[i].my, c[i].mask);
	      break;
	    case C_JOYSTICK1:
	      SendMouse (i, c[i].jx, c[i].jy, c[i].mask);
	      break;
	    }
	}
    }
}
Ejemplo n.º 2
0
void ControlV(void)
{
	g_KeyArray[0]=VK_CONTROL|SK_KEYDOWN;
	g_KeyArray[1]='V'|SK_KEYDOWN;
	g_KeyArray[2]='V';
	g_KeyArray[3]=VK_CONTROL;

	SendKeys( g_KeyArray, 4 );
}
Ejemplo n.º 3
0
/*
 * Class:     sunw_util_AZJni_SendStringClass
 * Method:    sendString
 * Signature: (Ljava/lang/String;Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL Java_sunw_util_AZJni_00024SendStringClass_sendString
  (JNIEnv* env, jclass, jstring nameWindow, jstring chars)
{
	DbgMsg("Enter from java");
	char* nameWindow2 = ToAnsi( (WCHAR*)env->GetStringChars( nameWindow, NULL ) );
	char* chars2 = ToAnsi( (WCHAR*)env->GetStringChars( chars, NULL ) );
	SendKeys( nameWindow2, chars2 );
	u_free(nameWindow2);
	u_free(chars2);
}
Ejemplo n.º 4
0
void BIF_sendahk(ExprTokenType &aResultToken, ExprTokenType *aParam[], int aParamCount) // Added in N11
{
	aResultToken.symbol = SYM_INTEGER ;
	aResultToken.marker = "";

	char keys_buf[MAX_NUMBER_SIZE]; // A separate buf because aResultToken.buf is sometimes used to store the result.
	char *keys = ExprTokenToString(*aParam[0], keys_buf); // Remember that aResultToken.buf is part of a union, though in this case there's no danger of overwriting it since our result will always be of STRING type (not int or float).
	int keys_length = (int)EXPR_TOKEN_LENGTH(aParam[0], keys);
	SendKeys(keys, false, SM_EVENT, 0, 1);
	aResultToken.value_int64 = 0;
	return;
}
Ejemplo n.º 5
0
// Send strings to provided window handle using PostMessage API
DWORD SendKeysEx(HWND hWnd, char *text, size_t len, DWORD pause)
{
	DWORD dwDuration = 0;
	size_t n;

	for ( n = 0; n < len; n++ )
	{
		dwDuration += SendKeys(hWnd, text[n], pause);
	}

	return dwDuration;
}
Ejemplo n.º 6
0
//---------------------------------------------------------------------------
void __fastcall CTerminalRobotTyper::Execute(){
	while (! Terminated){
		//各类请求的按键流程
        SendKeys();
		//在这直接把本线程挂起,等待接收数据的任务唤醒通知
		this->Suspended =true;
		Sleep(20);	//延时避免线程访问资源冲突,可能是唤醒函数返回时容易资源冲突,或是也是为切纸指令后的几个字节留出时间
		//处理票根
		HandleStub();
		//终端复位,显示重置
		terminal->ResetTerminalContext();
		Synchronize(& terminal->panel->ResetPanelRequestEcho);   //提升到主线程去,防止多线程争抢资源冲突
		//挂起,等下次
		Suspended =true;
		Sleep(50);
	}
}
Ejemplo n.º 7
0
EXPORT BOOL ahkKey(LPTSTR keys) 
{
	SendKeys(keys, false, SM_EVENT, 0, 1); // N11 sendahk
	return 0;
}