DevAdmin Blog

Blog di Ermanno Goletto (Microsoft MVP Directory Services - MCITP - MCTS - MCSA - MCP)
posts - 887, comments - 449, trackbacks - 13

My Links

News

Avatar

Curriculum Vitae

Visualizza il profilo di Ermanno Goletto su LinkedIn


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo SysAdmin.it SysAdmin.it Staff


Logo TechNet Forum TechNet Italia @ForumTechNetIt Follow TechNet Forum on Twitter


Logo MVP


Ermanno Goletto Follow ermannog on Twitter

Article Categories

Archives

Post Categories

Blogs

Friends

Knowledge Base

MVP Sites

Resources

Simulare la pressione di un tasto tramite l'OCX di Windows Script Host

Navision consente di definire variabili di tipo OCX in modo da poter utilizzare tramite codice C/AL funzionalità installate sul client. Ovviamente affinché il codice venga eseguito sarà necessario che sui client sia installato l'OCX se questi eseguono codice C/AL che lo referenzia.

Sfruttando questa possibilità è possibile tramite l'OCX di Windows Script Host (ScriptControl Object C:\Windows\System32\msscript.ocx) simulare la pressione di uno o più tasti utilizzando il metodo SendKeys dell'oggetto WScript.Shell. In questo modo di fatto si possono creare delle macro artigianali per evitare di l'esecuzioni da parte dell'utente di azioni ripetitive.

L'ultima versione attualmente disponibile di Windows Script Host (WSH) e scaricabile al seguente link: Microsoft Windows Script Downloads.

Sommario

Creazione di una CodeUnit per l'utilizzo di Windows Script Host (WSH)

Creare una CodeUnit WindowsScripHost contenente una funzione pubblica per ciascun metodo dell'engine WSH che si intende utilizzare, per evitare memory leak in conviene definire una variabile locale che faccia riferimento all'OCX del WSH in ciascuna funzione in modo che le risorse dell'OCX siano rilasciate al termine dell'esecuzione.

Creazione di una funzione per l'utilizzo del metodo SendKeys dell'oggetto WScript.Shell

Nel seguente esempio è illustrata la creazione di una funzione per l'utilizzo del metodo SendKeys dell'oggetto WScript.Shell:

ShellSendKeys(Keys : Text[30])

SCO.Language:= 'VBScript';
SCO.ExecuteStatement('CreateObject("WScript.Shell").SendKeys("' + Keys + '")');
CLEAR(SCO);

Dove SCO è una variabile locale definita come segue:

Name DataType Subtype Length
SCO OCX ScriptControl Object  

Apertura di una form in modalità inserimento simulando la pressione del tasto F3

Per aprire ad esempio la form Customer Card (21) in modalità inserimento basta definire una variabile WSH di tipo CodeUnit che faccia riferimento alla CodeUnit WindowsScripHost e utilizzare il seguente codice:

FORM.RUN(21);
WSH.SendKeys('{F3}');ShellSendKeys(Keys : Text[30]);

Print | posted on Monday, March 06, 2006 11:52 AM |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 8 and 2 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET