인보이스를 인쇄 할 수있는 기능이 웹 서비스를 사용하는 것처럼 자연 스럽지만 서비스에 인보이스 ID (예 :/service/print/invoice/7)를 말하면됩니다. 인쇄 작업을 반환 할 것을 제안합니다 ID 당신이 당신의 안드로이드에서 상태의 쿼리 수 (/ 서비스/인쇄/작업 ID/상태) 또는 취소 (/ 서비스/인쇄/작업 ID/취소)
는 데이터베이스에 보류중인 인쇄 작업을 만들
내가 알고 싶어하는 까다로운 일은 웹 서비스를 앱과 통신하는 방법이다. 창을 사용함에 따라 주문을 윈도우 메시지로 보내는 것이 좋다. FindWindowEx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms633500%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396)로 앱 창을 찾으십시오. 앱이 실행 중이 아니면 실행하고 창을 찾을 때까지 기다리십시오. 창 처리기에서 사용자 메시지를 보내면 사용자 메시지는 ID가 WM_USER (https://msdn.microsoft.com/en-us/library/windows/desktop/ms644931(v=vs.85).aspx) 인 메시지입니다. 예를 들어 보류중인 인쇄 작업을 확인하는 데 WM_USER +1을 사용합니다. 메시지 사용 PostMessage를를 보내는
는 :
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
Private Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean
End Function
HWND (즉, null이 아닌지 확인) 메시지를 messageId가가,이 예에서 WM_USER해야 Y는 FindWindowEx로 검색 한 앱 윈도우의 핸들 1 의 wParam과 lParam에 매개 변수가 https://msdn.microsoft.com/en-us/library/windows/desktop/ms644944%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396을 확인 당신이 바로 WndProc을 무시하고 앱에서
PostMessage를
에 대한 추가 정보를 원하시면 보낼 수있는 정수 당신은 메시지 확인을 recevie 때 경우의 인쇄 송장 메시지 (WM_USER + 1 -> & H401) DB에서 보류중인 인쇄 작업을 실행합니다.
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case &H401
ExecutePendingPrintingJobsFromDB()
Case Else
MyBase.WndProc(m)
End Select
End Sub
다른 것들에 대해 다른 사용자 메시지를 정의 할 수도 있습니다.
희망이 도움이됩니다.
당신은 귀하의 안드로이드 애플 리케이션에서 인보이스가 인쇄되어야한다는 것을 나타내는 데이터베이스에 무언가를 쓸 수 있습니다. 예를 들어, Invoiceid에 대한 링크가있는 PrintInvoices라는 테이블 또는 무엇이든 상태를 입력하십시오. 그런 다음이 테이블을 x 초마다 확인하고 아직 인쇄되지 않은 송장을 인쇄하는 데스크탑 응용 프로그램에 항목을 추가 할 수 있습니다 (상태 필드 기반) – Tonny