Thinfinity® VirtualUI features
Funziona con qualsiasi browser
Thinfinity VirtualUI consente di eseguire le applicazioni Windows su qualsiasi browser web, virtualizzandone l’interfaccia e trasmettendola direttamente all’utente. In questo modo, è possibile accedere a tutte le funzionalità delle applicazioni Windows dai browser più diffusi come Chrome, Firefox, Safari ed Edge, su qualsiasi dispositivo.
Compatibile con tutti i linguaggi di programmazione
Thinfinity VirtualUI offre un'integrazione senza interruzioni con un'ampia gamma di linguaggi di programmazione, consentendo agli sviluppatori di modernizzare e rendere le proprie applicazioni accessibili via web senza doverle riscrivere completamente. I linguaggi supportati includono: C++, C#, Delphi, Lazarus, Microsoft (MS) Access, Microsoft Foundation Class (MFC), Python, QT, VB.NET, Visual Basic 6 (VB6), Visual Fox Pro 9, Visual Fox Pro, Windev, XBase++ e Windows Presentation Foundation (WPF).
If your Language is not listed, contact us.
Virtualizzazione a livello applicativo
A differenza delle soluzioni di virtualizzazione tradizionali, che virtualizzano interi desktop o sistemi operativi, Thinfinity VirtualUI virtualizza a livello applicativo. Ciò consente agli sviluppatori un controllo più dettagliato su come l’applicazione interagisce con l’ambiente. Invece di virtualizzare un’intera macchina, Thinfinity isola e gestisce esclusivamente l’applicazione, offrendo maggiore flessibilità ed espandendo le possibilità di modernizzazione e integrazione nei flussi di lavoro moderni.
Virtualizzazione del Registro di Windows
Thinfinity VirtualUI virtualizza il Registro di Windows, consentendo alle applicazioni di gestire e archiviare in sicurezza i dati utente senza modificare le impostazioni di sistema. Questo permette un controllo efficiente delle voci di registro, sia in ambienti condivisi tra più utenti che in configurazioni isolate per sessioni individuali.
Dynamic Registry Redirection
Le voci di registro possono essere reindirizzate a voci condivise o private in base al sistema di autenticazione dell'applicazione, garantendo un controllo degli accessi adeguato e una separazione dei dati in base ai ruoli utente o alle sessioni.
Ambiente sicuro
Virtualizzando l’accesso al registro, Thinfinity VirtualUI assicura che le informazioni sensibili, come le preferenze utente o le impostazioni dell’applicazione, rimangano protette durante il processo di virtualizzazione.
Personalizzazione specifica per l'utente
Il registro virtualizzato consente alle applicazioni di adattare dinamicamente le impostazioni e il comportamento in base all’utente autenticato, migliorando la personalizzazione e garantendo un’esperienza su misura per ogni sessione.
This registry virtualization feature streamlines the management of user data and application settings, providing both security and flexibility in virtualized environments.
Virtualizzazione del File System
Thinfinity VirtualUI include la virtualizzazione del File System, creando un ambiente sicuro e controllato per le applicazioni Windows virtualizzate. Gestendo i permessi di accesso a livello di applicazione, gli sviluppatori possono limitare o consentire l’accesso a cartelle specifiche in base al sistema di autenticazione dell’utente.
Controllo Accessi
Il registro virtualizzato consente alle applicazioni di adattare dinamicamente le impostazioni e il comportamento in base all’utente autenticato, migliorando la personalizzazione e garantendo un’esperienza su misura per ogni sessione.
Cartelle Private
Il file system consente di creare cartelle private per ogni utente, assicurando che i dati di ciascuna sessione rimangano isolati in modo sicuro. In questo modo, i file personali restano riservati e inaccessibili agli altri, migliorando sicurezza e privacy.
Reindirizzamento Basato sull'Autenticazione
In base al sistema di autenticazione dell’applicazione, l’accesso ai file può essere reindirizzato dinamicamente a cartelle private o condivise, offrendo una gestione dello storage flessibile e personalizzata senza compromettere la sicurezza.
Questa funzione assicura un ambiente virtualizzato sicuro e semplifica la gestione dei file e delle impostazioni personalizzate per ogni utente.
Classi / Proprietà / Eventi
A differenza delle soluzioni di virtualizzazione tradizionali, Thinfinity VirtualUI si integra direttamente a livello applicativo, consentendo agli sviluppatori di interagire con le proprie applicazioni in modo preciso e dettagliato. Grazie all’accesso a Classi, Proprietà ed Eventi, Thinfinity permette di controllare lo stato interno e il comportamento dell’applicazione, rendendo possibile l’implementazione di funzionalità come gestione degli errori, interazioni con il browser e adattamenti del design in tempo reale. Questa interazione avanzata offre agli sviluppatori un controllo totale su come le loro applicazioni virtualizzate rispondono agli input dell’utente e ai cambiamenti del sistema, fornendo un ambiente di virtualizzazione più dinamico e adattabile rispetto alle soluzioni tradizionali.
Supporto per Molteplici Architetture Software
Thinfinity VirtualUI consente agli sviluppatori di eseguire applicazioni a 32 bit su server Windows a 64 bit senza necessità di modifiche. Questa funzionalità semplifica la modernizzazione e la virtualizzazione del software legacy, ottimizzando le prestazioni e la scalabilità degli ambienti server a 64 bit.
Compatibilità tra 32 e 64 bit
Thinfinity VirtualUI risolve le incompatibilità tra applicazioni a 32 bit e server Windows a 64 bit, garantendo che il software legacy continui a funzionare senza problemi negli ambienti moderni.
Non è necessario ricompilare il codice
Gli sviluppatori non devono ricompilare né modificare il codice originale a 32 bit. Thinfinity VirtualUI gestisce l’ambiente, consentendo all’applicazione di funzionare come previsto.
Prestazioni Ottimizzate
Eseguendo applicazioni a 32 bit su server a 64 bit, le aziende possono sfruttare una maggiore potenza di elaborazione e una gestione più efficiente della memoria, ottimizzando le prestazioni delle applicazioni.
Questa funzionalità consente di modernizzare le applicazioni legacy in modo conveniente, senza dover riscrivere o riprogettare il codice. In questo modo, le aziende possono continuare a utilizzare il loro software critico sfruttando le infrastrutture server più moderne.
BrowserInfo
La funzionalità BrowserInfo di Thinfinity VirtualUI consente agli sviluppatori di recuperare dati specifici sul browser e sul dispositivo utilizzato dall’utente finale.
Identificazione del Dispositivo
Grazie a BrowserInfo, gli sviluppatori possono capire se l’utente sta accedendo all’applicazione da uno smartphone, un tablet o un computer. Questo consente di adattare l’interfaccia, offrendo una versione ottimizzata per schermi piccoli o interazioni touch.
Design Reattivo
Le dimensioni del browser vengono rilevate in tempo reale, consentendo al layout di adattarsi automaticamente per garantire il massimo delle prestazioni, indipendentemente dal dispositivo o dalla dimensione dello schermo.
Personalizzazione Su Misura per l’Utente
Raccogliendo informazioni dettagliate sul browser, gli sviluppatori possono offrire un’esperienza utente più personalizzata, adattando funzionalità ed elementi dell’interfaccia in base alle capacità del dispositivo, migliorando la fruibilità su tutte le piattaforme.
HTMLDoc.ImportHTML
Thinfinity VirtualUI consente un’integrazione avanzata delle applicazioni web tramite la funzione HTMLDoc.ImportHTML, permettendo agli sviluppatori di importare contenuti HTML direttamente da un’applicazione.
Integrazione con Applicazioni Web
Integra contenuti HTML da applicazioni web in applicazioni Windows virtualizzate in modo nativo, permettendo la visualizzazione di elementi dinamici e interattivi all’interno dell’applicazione.
Modernizzazione delle Applicazioni Legacy
Modernizza le applicazioni legacy di Windows integrando componenti HTML in tempo reale per migliorare l’esperienza utente e ottimizzare l’integrazione tra strumenti web e software tradizionale.
Migliora i flussi di lavoro
Integra facilmente componenti HTML nell’applicazione virtualizzata, senza bisogno di uno sviluppo complesso, per offrire interfacce migliorate e funzionalità web avanzate.
OnClose
Thinfinity VirtualUI provides the OnClose event, which is triggered during any abnormal closure of the application, such as when the browser is closed unexpectedly, the remote PC shuts down, or a communication timeout occurs.
Rilevamento dello Stato dell’Utente
Questo evento consente agli sviluppatori di rilevare se un utente è stato disconnesso a causa della chiusura del browser, problemi di rete o spegnimento remoto, fornendo informazioni cruciali sull’attività dell’utente.
Gestione delle Sessioni
With OnClose, applications can react to unexpected session terminations, ensuring that data integrity is maintained and that appropriate actions (such as logging or session cleanup) are triggered automatically.
Monitoraggio Avanzato dell'Utente
Rileva quando un utente è disconnesso o offline in tempo reale, aiutando a mantenere operazioni più fluide e a prevenire la perdita di dati o processi incompleti.
OnBrowseResize
Thinfinity VirtualUI triggers the OnBrowseResize event whenever the browser window is resized by the user.
Design Reattivo
Questo evento consente agli sviluppatori di adattare dinamicamente il layout della loro applicazione, rendendola reattiva a diverse dimensioni della finestra del browser. Grazie a questa funzionalità, si garantisce un'esperienza utente ottimale su qualsiasi dispositivo.
Interfaccia Utente Dinamica
Grazie a OnBrowseResize , le applicazioni possono adattare le proprie interfacce utente, garantendo un'esperienza fluida su tutti i dispositivi, sia su desktop, tablet o dispositivi mobili. Questa funzionalità migliora l'usabilità e la soddisfazione dell'utente.
Esperienza Utente Ottimizzata
Ridimensiona e riformatta automaticamente l'interfaccia utente della tua applicazione in tempo reale in base al ridimensionamento del browser, garantendo un'esperienza coerente e user-friendly su tutte le dimensioni dello schermo.
UnReceivedMessage
Thinfinity VirtualUI’s UnReceivedMessage event is triggered when a message is received by the browser page.
Dynamic Integration
This event allows your application to dynamically receive data while integrated within an iframe on another page.
Real-Time Communication
Utilize UnReceivedMessage to process and react to incoming messages, enabling seamless real-time interaction between your application and its hosting environment.
Cross-Page Integration
Ideal for scenarios where your app needs to exchange information with external web pages, ensuring that your application stays in sync even within embedded environments like iframes.
OnError
Thinfinity VirtualUI’s OnError event is triggered whenever an unexpected runtime error occurs during the application’s execution.
Error Notifications
Use the OnError event to capture and log runtime errors. You can configure your server to send automatic alerts or notifications, such as sending an email to administrators, whenever an unexpected error happens.
Automated Error Handling
This event enables real-time error tracking, allowing developers to respond quickly and prevent potential downtime by taking corrective actions immediately.
Enhanced Debugging
Capture detailed error logs and diagnostics to improve the robustness and reliability of your virtualized applications.
Open Link Dialog
Thinfinity VirtualUI’s Open Link Dialog feature allows virtualized applications to open any URL natively in the end user’s browser. This capability simplifies the user experience by seamlessly redirecting external links or web resources from the application to the user’s local browser, providing an intuitive, fluid interaction between the virtualized environment and web resources without additional complexity.
Shell.Execute
Thinfinity VirtualUI’s Shell.Execute feature is designed to optimize the user experience when dealing with complex applications that consist of multiple executable files or modules. For industries such as manufacturing, ERP management, SCADA systems, and pharmaceutical software—where large software suites are common—Shell.Execute allows seamless management by launching additional executables directly from the main portal in a web browser. This streamlines workflows by enabling developers to virtualize and manage the entire suite of applications under a single web interface.
For instance, if your ERP system comprises multiple tools (e.g., accounting, inventory, and HR modules), each traditionally launched via different executables, Shell.Execute allows you to call these modules as individual web apps without needing additional configuration on the client side. It ensures that all applications work together cohesively while keeping the complexity hidden from the user. This solution enables an efficient, native-feeling user experience, particularly for environments requiring multiple, specialized tools working in tandem, such as enterprise software, process automation systems, and lab management platforms.
Gestione Avanzata dei File
Caricamento Diretto nell’Applicazione
Thinfinity VirtualUI’s direct upload feature enables seamless file transfers into virtualized Windows applications running within a browser. By utilizing proprietary virtual channels, Thinfinity circumvents traditional browser limitations, creating a high-performance, native-like experience for file uploads.
Virtual Channel Implementation
Thinfinity establishes dedicated virtual channels between the client browser and the virtualized application. These channels allow for efficient, low-latency data flow, closely mirroring the behavior of native desktop applications and ensuring real-time file uploads.
Session Isolation and Device Access
Each upload session is securely isolated and directly connected to the user’s application session. Users can easily upload files and browse their local devices for file selection, bypassing the need for intermediate storage and maintaining optimal security and performance efficiency.
Direct Download to the End User Browser
Thinfinity VirtualUI enables the direct download of files from virtualized Windows applications straight to the user’s browser. By leveraging virtual channels, Thinfinity bypasses the native “Save File” actions, which would typically store files on the server where the application is installed, and instead redirects them to the user’s local environment.
Virtual Channel Implementation
Thinfinity establishes virtual channels that connect the virtualized application directly to the user’s browser. This allows the application to route file downloads to the user’s device, bypassing server storage, and enabling seamless integration between the virtualized application and the user’s local file system.
Download Redirection
All download-related operations, such as saving files or exporting data from the virtualized application, are automatically redirected to the user’s browser. This eliminates the need for manual intervention and ensures that files are downloaded locally rather than being saved on the server, enhancing both usability and data control.
Drag and Drop Upload
Thinfinity VirtualUI allows developers to create a native canvas space within their Windows applications, where users can drop files for direct upload into the virtualized application. This enhances user interaction and improves the workflow for applications requiring file inputs.
Seamless Integration
Dragging and dropping files onto a native canvas inside the virtualized application triggers an instant upload, maintaining a native application feel.
Efficient File Transfer
Leveraging Thinfinity’s high-performance virtual channels, the dropped files are directly uploaded with minimal latency and without extra steps
Versatile Application
This drag-and-drop functionality is suitable for use cases such as document management, media uploads, or any application requiring direct file input.
Printing & Peripherals and UX
Clientless Print Redirection
Thinfinity VirtualUI includes a clientless print redirection feature that enables users to print directly from a virtualized Windows application to their local printers, without the need for additional software installations on the client device.
Virtual Printer Integration
Thinfinity VirtualUI provides a built-in virtual printer within the application, which captures any print job generated by the virtualized app and redirects it to the end user’s browser.
Seamless Local Printing
Once the print job reaches the browser, it can be sent directly to any local printer connected to the user’s device, ensuring a smooth and intuitive printing experience.
Clientless Operation
This functionality eliminates the need for users to install print drivers or client software, making it an ideal solution for secure and flexible printing across different platforms.
POS and Label Printing
Thinfinity VirtualUI offers robust printer redirection capabilities designed specifically for POS applications or ERP systems that require frequent printing, such as POS tickets or labels. The system supports both agent-based and network-agent-based printing, providing seamless mapping between the virtualized application and any printer connected to the user’s local machine or network.
Agent-Based Printing
Thinfinity VirtualUI allows the virtualized application to connect directly to printers attached to the user’s machine via an agent, ensuring a reliable, local-like printing experience.
Network Printer Integration
The network agent allows users to map their virtual applications to any network printer, regardless of location, making it perfect for environments that rely on shared printing resources.
Local-Like Experience
This functionality ensures that POS tickets or labels are printed as if from a local desktop application, providing fast, accurate, and efficient print operations, essential for POS systems and label generation.
RAW Printing
For specialized printers and legacy systems, Thinfinity VirtualUI provides support for RAW printing. This feature enables direct transmission of RAW print jobs from the virtualized application to the user’s printer, preserving the native experience required for specialized applications.
Direct Communication
Thinfinity VirtualUI sends the RAW print job directly to the printer, bypassing any intermediate processing that could interfere with the print format, ensuring that specific instructions or commands unique to specialized printers are executed accurately.
Native Experience
By allowing applications to communicate natively with the printer, Thinfinity ensures that legacy systems or applications requiring specialized print functions deliver outputs as they would in a traditional local environment.
Support for Specialized Applications
Ideal for environments with specific printing needs, such as industrial, medical, or legacy systems, this feature guarantees compatibility and reliability, maintaining the integrity of print jobs regardless of complexity.
Bulk Printing
Thinfinity VirtualUI’s bulk printing feature is designed for applications that require the ability to handle extensive print jobs efficiently, such as in point-of-sale (POS) systems, logistics, or financial services.
High-Volume Printing
Thinfinity VirtualUI ensures that virtualized applications can handle large print queues without performance bottlenecks. Applications that need to print multiple documents—such as shipping labels, customer invoices, or transaction receipts—benefit from the platform’s ability to manage bulk printing tasks smoothly and reliably.
Seamless Workflow Integration
Whether it’s a retail POS generating numerous receipts, a warehouse printing hundreds of labels, or a financial institution creating bulk statements, Thinfinity’s bulk printing capabilities allow businesses to maintain high productivity levels, minimizing downtime caused by print delays.
Optimized Print Queues
By optimizing how print jobs are sent and processed, Thinfinity VirtualUI guarantees that extensive print jobs are queued and printed with minimal latency, creating a streamlined experience even for large-scale operations.
Launch Multiprint
Thinfinity VirtualUI’s Multiprint feature enables advanced multi-printer support, allowing users to send print jobs to multiple printers simultaneously from a single virtualized application.
Multi-Printer Support
Thinfinity’s Multiprint tool allows users to direct a single print job to multiple printers, enhancing operational efficiency in environments that require large-scale or distributed printing.
Purpose
Ideal for organizations with complex printing needs—such as logistics companies, retail chains, or large offices—where documents, labels, or receipts need to be printed across various locations, ensuring consistent and synchronized output.
Versatile Printing Capabilities
This feature is particularly beneficial in industries that demand high-volume or geographically dispersed printing, such as manufacturing, distribution, or retail, where multiple print outputs are necessary at once.
Peripherals
Thinfinity VirtualUI supports the seamless integration of various peripherals such as barcode scanners, USB printers, and other specialized hardware within virtualized applications, enabling a native-like experience for end users.
Barcode Scanners
Thinfinity allows barcode scanners to be directly connected to virtualized applications, enabling businesses to use them in real-time for inventory management, retail operations, or warehouse workflows. Data is transmitted as though the device is physically connected to the application.
USB Printers
With Thinfinity VirtualUI, users can print directly from their virtual applications to any connected USB printer. This allows businesses to streamline their workflows for printing receipts, labels, or tickets without sacrificing local performance.
Native Clipboard Redirection
Thinfinity VirtualUI enables seamless text and rich text clipboard redirection, allowing users to copy and paste data between their local machines and virtualized Windows applications effortlessly.
Text Transfer
Easily copy plain text or rich text, including formatting like fonts and colors, between local devices and virtualized apps in real-time, preserving formatting integrity.
Boost Productivity
Users experience a smooth and natural workflow, mirroring local desktop interactions, ideal for content-heavy tasks in sectors like finance, education, and content management.
This native clipboard redirection enhances productivity by offering a truly integrated, local-like experience within browser-based virtualized environments.
Advanced Integration
iFrame
Thinfinity VirtualUI supports embedding virtualized Windows applications directly into an iFrame, making it an ideal solution for integrating legacy or virtualized applications within modern web portals. This allows developers and Independent Software Vendors (ISVs) to seamlessly blend Windows applications with existing web-based user experiences or modernized front-end systems.
The iFrame integration helps unify the user experience by embedding virtualized applications into broader ecosystems, where other native web components already exist. For organizations that have migrated their user interface to web technologies, such as React or Angular, this feature allows the Windows application to coexist within a web application, enhancing consistency without the need for complete refactoring. It’s particularly suitable for ISVs looking to extend legacy desktop apps into multi-functional web platforms, ensuring a cohesive and modernized experience for end-users.
JavaScript Remote Objects (jsRO)
Thinfinity VirtualUI’s JavaScript Remote Objects (jsRO) feature enables seamless integration between virtualized Windows applications and modern web technologies. jsRO allows developers to expose methods and properties from the server-side application as JavaScript objects, enabling direct interaction with the client-side browser environment. This capability is particularly useful when modernizing legacy applications and creating a cohesive hybrid interface between desktop and web applications.
jsRO opens up a world of possibilities for extending the functionality of virtualized applications, making it easier to integrate them with modern web technologies like React, Vue.js, or Angular, without needing to rewrite the backend code. This integration helps create a modern and interactive user interface while preserving the core logic of the legacy application.

Bidirectional Communication
Facilitated by JavaScript Remote Objects (jsRO), creates a live connection between virtualized Windows applications and the client-side JavaScript environment. This real-time link enables seamless data and command exchanges between the server-side application and the user’s web browser.
Real-Time Interaction
jsRO allows data to flow in both directions—between the virtualized application and the web browser HTML5 Component—ensuring that changes made in one environment are instantly reflected in the other. For instance, updates in the virtualized application can trigger immediate actions or updates in the new web interface.
Dynamic User Interfaces
Enhanced Integration
Event Binding
This feature allows developers to bind server-side events to client-side JavaScript functions. This capability enables the creation of highly reactive user interfaces that respond to both user input and changes within the virtualized application.
Reactive Interfaces
When an event occurs in the server-side application, such as a data update or user action, it can automatically trigger a corresponding JavaScript function on the client-side. This ensures that the web interface remains up-to-date and reactive without the need for constant polling or manual refreshes.
Seamless Synchronization
Developers can synchronize the behaviors of the virtualized application and the web interface by linking specific server-side events to custom JavaScript actions. This helps create a seamless and integrated user experience, where the web application responds dynamically to changes happening within the virtualized app.
Enhanced User Interaction
By leveraging event binding, developers can build more interactive and responsive applications that adjust and respond in real-time to user actions, server-side processing, or other triggers within the virtualized environment.
Object Exposure
Thinfinity VirtualUI’s Object Exposure feature allows the server-side application to expose its internal objects as JavaScript objects that can be directly manipulated within the web browser. This capability greatly simplifies the integration of traditional Windows applications with modern web interfaces.
Seamless Integration
By exposing server-side objects as JavaScript objects, developers can leverage the power of JavaScript to manipulate these objects natively within the browser. This enables seamless interaction between the application’s logic and the web interface without the need for complex middleware.
Direct Access
Developers gain direct access to server-side data and functions, allowing them to build richer, more dynamic web interfaces that react to the application’s internal state. This promotes a smoother, more unified experience between the virtualized application and the modern web environment.
Streamlined Development
Object exposure minimizes the need for extensive rework or refactoring when integrating legacy applications into web-based systems. By treating server-side objects as native JavaScript objects, developers can modernize applications without the overhead of extensive code rewriting, simplifying the process of adding modern web functionality to existing applications.