Search Results

Search found 88759 results on 3551 pages for 'new developper'.

Page 196/3551 | < Previous Page | 192 193 194 195 196 197 198 199 200 201 202 203  | Next Page >

  • Kinect pour PC bientôt disponible ? Microsoft prépare une variante de son capteur pour ordinateur

    Kinect pour PC bientôt disponible ? Microsoft prépare une variante de son capteur pour ordinateur Microsoft va développer une variante de son capteur de mouvement Kinect, spécifiquement pour les PC. Cette version s'appuie sur le dispositif Kinect pour la Xbox 360 avec des optimisations de certains composants matériels, et des ajustements du firmware pour une prise en charge des PC. Le dispositif offrira les caractéristiques et fonctionnalités sur Windows du capteur dont les développeurs et les consommateurs ont besoin. La caméra de profondeur sera capable de voir des objets d'aussi près de 50 centimètres sans perte de précision, et soutiendra un mode « proche » pour les applicatio...

    Read the article

  • OpenShift : la compilation des applications Java dans le Cloud désormais possible, Red Hat étend sa plateforme PaaS

    OpenShift : le développement et la compilation des applications Java dans le Cloud désormais possible Red Hat étend sa plateforme PaaS Red Hat vient d'étendre sa plateforme d'hébergement Cloud OpenShift, qui peut désormais être utilisée non seulement pour déployer des applications, mais également pour développer des projets en utilisant le Cloud. OpenShift est une solution PaaS (Platform as a Service) qui avait été lancée en mai dernier par par Red Hat pour les développeurs open source, afin de concurrencer Windows Azure et Google App Engine. La plateforme permet d'héberger et exécuter des applications en Java, Ruby, Python, PHP et Perl. OpenShift supporte les bas...

    Read the article

  • Nokia propose gratuitement tous ses outils pour se lancer dans le développement mobiles pour l'OviStore : Qt, Wrt, hello world, etc.

    Nokia met en ligne la totalité des outils gratuits pour se lancer dans le développement d'applications mobiles Pour l'OviStore : Qt, WebRuntime, et hello world « Que vous soyez dev mobile ou dev HTML, développer une appli Nokia n'a jamais été aussi facile avec Qt et WebRuntime », affirme le constructeur finlandais. Et les faits semblent lui donner raison puisque l'OviStore connait un succès qui n'était pas, il y a quelques semaines, un pari gagné d'avance. Certes les 3 millions de téléchargements annoncés par la marque sont une des preuves de ce succès. Mais l'adhésion des développeurs à cette plateforme concurrente d'Android, iOS et autres Windows Ph...

    Read the article

  • Visual Studio 2012 : quoi de neuf dans la RC ? Tour d'horizon des nouveautés de l'EDI, .NET 4.5 et Team Foundation Server 2012

    Visual Studio 2012 : quoi de neuf dans la Release Candidate ? Tour d'horizon des nouveautés de l'EDI, .NET 4.5 et Team Foundation Server 2012 Visual Studio 2012, Team Foundation Server 2012 et .NET Framework 4.5 sont disponibles en version Release Candidate. Cette sortie marque une étape importante pour ces outils qui peuvent désormais être utilisés pour développer des applications pouvant être exécutées en environnements de production. Qu'est-ce qui a changé dans ces moutures par rapport aux bêtas. Dans cet article, nous ferons un tour d'horizon des nouveautés les plus importantes de Visual Studio 2012, Team Foundation Server 2012 et .NET 4.5 RC présentées par Jason Zander, responsable ...

    Read the article

  • Firefox 11 affiche la structure des pages web en 3D et les changements dans les feuilles de styles CSS en temps réel

    Firefox 11 affiche la structure des pages web en 3D Et les changements dans les feuilles de style CSS en temps réel Firefox 11 vient d'intégrer un ensemble d'améliorations qui risquent de ne pas laisser les développeurs web indifférents. La première nouveauté est un outil qui permet de visualiser la structure (CSS, etc.) d'une page en 3D. Page Inspector 3D View, surnommé Tilt, repose sur WebGL. « Cet outil permet à tout utilisateur de comprendre immédiatement le lien entre le code et la page finale », explique Mozilla. « Alors que les outils pour développeurs, tels que « view source », ont toujours été utiles pour apprendre à développer une page, l'affichage en 3D...

    Read the article

  • Nokia propose gratuitement tous ses outils pour se lancer dans le développement mobile pour l'OviStore : Qt, Wrt, hello world, etc.

    Nokia met en ligne la totalité des outils gratuits pour se lancer dans le développement d'applications mobiles Pour l'OviStore : Qt, WebRuntime, et hello world « Que vous soyez dev mobile ou dev HTML, développer une appli Nokia n'a jamais été aussi facile avec Qt et WebRuntime », affirme le constructeur finlandais. Et les faits semblent lui donner raison puisque l'OviStore connait un succès qui n'était pas, il y a quelques semaines, un pari gagné d'avance. Certes les 3 millions de téléchargements annoncés par la marque sont une des preuves de ce succès. Mais l'adhésion des développeurs à cette plateforme concurrente d'Android, iOS et autres Windows Ph...

    Read the article

  • MonoTouch supporte iOS 6, Xamarin sort la version 6 de son environnement de développement d'applications natives iOS en C#

    MonoTouch supporte iOS 6 Xamarin sort la version 6 de son environnement de développement d'applications natives iOS en C# Xamarin vient de publier une mise à jour de MonoTouch, son environnement de développement pour mobile multiplateforme. MonoTouch est un kit de développement logiciel qui permet de créer des applications mobiles natives pour iOS en utilisant le langage .NET C# sur le système d'exploitation Mac OS X. La même base de code C# utilisée pour créer des applications iOS avec MonoTouch peut également être utilisée avec la famille des outils Mono pour développer des applications Android et Windows Phone. La version 6 de MonoTouch apporte comme nouveauté pha...

    Read the article

  • HP annonce que ses prochains appareils tourneront simultanément sous WebOS et Windows, à partir de 2012

    HP annonce que ses prochains appareils tourneront simultanément sous WebOS et Windows, à partir de 2012 Le CEO de HP, Lep Apotheker, a déclaré ce matin qu'à partir de l'année prochaine, tous les ordinateurs produits par sa compagnie tourneront à la fois sous WebOS (l'OS acquis lors du rachat de Palm en 2010) et sous Windows. Pourquoi une telle décision ? Pour "créer une plateforme massive" afin que les développeurs puissent développer des applications pour un environnement qui sera à la fois présent sur les ordinateurs, les smartphones et les tablettes. Il reste à savoir de quelle manière les deux systèmes d'exploitation vont fonctionner l'un avec l'autre. HP n'a pas encore donné de détails à ce sujet, mais...

    Read the article

  • NVIDIA Parallel Nsight disponible gratuitement pour Visual Studio pour tirer partie des GPU dans les calculs complexes

    NVIDIA Parallel Nsight disponible gratuitement pour Visual Studio Pour tirer partie des cartes graphique dans les calculs complexes NVIDIA vient de mettre la version 1.51 de son outil Parallel Nsight à la disposition des développeurs utilisant Visual Studio. Sorti par NVIDIA en août dernier, Parallel Nsight permet de développer des applications CUDA C/C++ ou DirectCompute tirant parti de la puissance de calcul des cartes graphiques. La nouvelle version de Parallel Nsight Professional Edition peut-être utilisée avec Visual Studio 2008 ou 2010. Dans un souci de rendre son installation plus simple, NVIDIA a également procédé à la suppression de la clé de licence et d'a...

    Read the article

  • Toutes les semaines un peu de code pour aller plus loin avec Windows 7, Les services web natifs

    En cette fin d'année, la communauté de Developpez.com s'est alliée avec Microsoft France pour relayer une série de questions / réponses sur le développement Windows 7. A partir d'aujourd'hui, nous poserons une question chaque lundi sur une fonctionnalité propre au développement d'applications Windows 7. La bonne réponse de la question de la semaine sera ensuite dévoilée la semaine suivante avec un exemple de mise en pratique. Êtes-vous prêt à relever le défi ? Pensez-vous bien connaître les possibilités que proposent les API Windows 7 ? C'est ce que nous allons voir dès aujourd'hui, nous attendons vos propositions ! La réponse de la semaine : Est-il possible de développer des...

    Read the article

  • SAP et Microsoft annoncent Duet Enterprise, une solution de travail collaboratif qui connecte SharePoint 2010 et les applications SAP

    SAP et Microsoft annoncent Duet Enterprise Une solution de travail collaboratif qui connecte SharePoint 2010 et les applications SAP SAP et Microsoft se sont associés dans le cadre d'un programme commun pour développer un portefeuilles de solutions et « adresser davantage de clients ». Ce programme commun a été baptisé « SAP-Microsoft Unite Partner Connection ». Le président de la division Microsoft Office, Kurt DelBene, et Vishal Sikka, membre du Comite Executif de SAP, ont ainsi annoncé Duet Enterprise, en détaillant la manière dont les deux entreprises font converger leurs stratégies dans le domaine du logiciel. Le but est de proposer une plus grande valeur ajouté...

    Read the article

  • Codename One : la boite à outils Java open source pour le développement mobile multiplateforme sur une base de code unique sort

    Prise en charge de Windows 8 pour Codename One la boîte à outils open source pour le développement mobile multiplateforme sur une base de code Java unique Codename One, la plateforme open source pour le développement mobile en Java prend désormais en charge Windows Phone et les tablettes Windows 8. Développé par deux anciens ingénieurs de SUN Microsystems, Codename One est un écosystème léger, fondé sur Java, conçu pour permettre aux développeurs de créer des applications natives pour de multiples plateformes mobiles et tablettes en utilisant une base de code unique. La bêta de la boîte à outils avait été présentée en juillet dernier, et permettait de développer pour iOS, Android...

    Read the article

  • Quels bénéfices pour une entreprise d'investir pour proposer un webmail, alors que ces services rapportent très peu d'argent ?

    Les webmails rapportent très peu d'argent, quel bénéfice alors pour une entreprise d'investir pour proposer ce type de service ? Les plus grandes entreprises du Web investissent de grandes sommes dans des services de webmail qu'elles offrent ensuite gracieusement à leurs utilisateurs. Microsoft a Hotmail, Google a Gmail, Yahoo a Yahoo Mail et Facebook est en train de développer son propre client de messagerie. Pourtant, de tels services, très coûteux, ne rapportent que très peu en retour., voir rien du tout. De plus, leur évolution est plutôt calme. Le peu qu'ils rapportent en publicité ne permet pas de financer de grands changements, et, de plus, dès qu'une modification est faite, le public ne manque ...

    Read the article

  • Aidez-nous à relire et corriger les FAQ JavaScript, un grand nettoyage des ressources de la rubrique a commencé

    Bonjour L'équipe JavaScript aimerait se lancer dans un grand nettoyage des ressources JavaScript et a décidé de commencer avec les FAQ JavaScript. Pour développer ce projet, nous cherchons des relecteurs qui pourraient nous aider. Nous avons donc besoin de vous. Il n'est pas nécessaire d'avoir de grandes disponibilités, car plus on est, plus le travail est divisé. Les relecteurs auront pour fonction d'effectuer une relecture attentive et proactive de plusieurs Q/R. Le but est de : lister ce qui est devenu faux/obsolète ; corriger les éventuelles coquilles ; compléter les Q/R existantes avec les nouveautés ; ajouter des Q/R et des pages d...

    Read the article

  • Windows 8, Duet Enterprise : l'ambiance est bonne entre SAP et Microsoft, SAP Mobile Platform s'ouvre à Windows Phone 8

    Windows 8, Duet Enterprise : l'ambiance est bonne entre Microsoft et SAP SAP Mobile Platform permettra également de développer des applications pour Windows Phone 8 Si la question se pose de savoir si Windows 8 va séduire le grand public, force est de constater que la nouveauté attire déjà beaucoup le milieu professionnel qui se presse autour des stands du SAPPHIRE où les tablettes et PC sous le nouvel OS de Microsoft sont en démonstration. Parmi ces stands, on trouve celui de Alegri, société d'origine allemande spécialisée dans les solutions Microsoft (Lync, Sharepoint) et SAP. Et dans la manière d'utiliser les deux en même temps. Tablette en main, un de ses respon...

    Read the article

  • Participez à la traduction des spécifications HTML5 et CSS3 ! Rejoignez l'équipe de traducteurs et de relecteurs du projet

    Bonjour L'équipe web vient de se lancer dans un grand projet de traduction : traduire les spécifications CSS 3 et HTML 5. Pour développer ce projet, nous cherchons des traducteurs et des relecteurs anglais/français qui pourraient nous aider. Nous avons donc besoin de vous. Il n'est pas nécessaire d'avoir de grandes disponibilités, vous pourrez choisir dans une liste les modules ou sections que vous allez traduire en fonction de leur taille et du temps que vous pouvez y consacrer. Les relecteurs auront pour fonction d'effectuer une relecture croisée entre la version anglaise et française dans le but d'en vérifier la bonne traduction (respect du sens par rapport à la version originale, correction des tournures de phrases, des...

    Read the article

  • Oracle Application Express 4.2 disponible en version finale, l'outil de développement pour Oracle Database se recentre sur le mobile

    Oracle Application Express, l'outil de développement rapide d'Oracle est désormais disponible en version 4.2. Cet outil, intégré à Oracle Database sans coût supplémentaire, permet de développer des applications Web exploitant les données d'une base Oracle. Cette mise à jour est très centrée vers le mobile et apporte un certain nombre de nouveautés pour le développement d'application mobile avec APEX. Notons en particulier :Le rendu des applications qui s'adapte pour proposer une interface adaptée au terminal mobile utilisé L'utilisation de jQuery Mobile qui permet la compatibilité sur la majorité des terminaux sans modification La possibilité de créer des graphiques en HTML5 pour les terminaux ne disposant pas de Flash L'utilisation ...

    Read the article

  • Microsoft améliore les performances JavaScript dans Windows 8 et IE 10, le chargement des pages plus rapide de 30%

    Microsoft améliore les performances JavaScript dans Windows 8 et IE 10 le chargement des pages plus rapide de 30% JavaScript occupe désormais une place importante dans l'écosystème Windows. Tout comme C# ou VB.NET, il est désormais un langage de première classe avec le futur système d'exploitation de Microsoft Windows 8. En effet, il est possible de développer des applications Windows 8 de style Metro en utilisant JavaScript couplé aux standards du Web HTML 5 et CSS. Au lendemain de la publication de Windows 8 Preview, Microsoft dévoile dans un billet de blog les avancées majeures dans l'OS et le navigateur Internet Explorer 10 en ce qui concerne JavaScript. L'évol...

    Read the article

  • Facebook abandonne HTML5 pour son application iOS, qualifiée de trop lente

    Facebook abandonne HTML5 pour son application iOS qualifiée de trop lente L'application Facebook pour iOS bien que pratique est lente, et souvent très lente même. D'après le New York Times, sur 38 000 personnes l'ayant noté, plus de 21 000 personnes n'ont accordé qu'une seule étoile à l'application, la qualifiant de lente, toujours en chargement, sujette à des crashs répétitifs, etc. Insensible à toutes ces remarques, Facebook a décidé de rendre son application plus rapide en réécrivant complètement celle-ci. Conséquence, le HTML5 qui avait été utilisé précédemment pour développer l'application autour d'une coque objective-c, afin d'utiliser la même base ...

    Read the article

  • Firefox 15 disponible en version finale : mise à jour silencieuse et fin des fuites de mémoire dues aux extensions

    Firefox 15 réduit par 5 sa consommation mémoire en gérant mieux les fuites causées par les extensions, la bêta du navigateur disponible L'un des problèmes constamment décriés dans le navigateur Firefox est sa consommation excessive de la mémoire. À partir de la version 7, la fondation Mozilla avait commencé à développer des solutions pour résoudre ce problème au travers du projet MemShrink. Firefox 7 à sa livraison permettait une réduction d'environ 20 à 30 % de la mémoire. Toujours dans la même lancée, les développeurs se sont attaqués à la consommation de mémoire engendrée par des composants tiers. Ainsi, Firefox 15 introduit un mécanisme pour forcer les extensions à libérer la...

    Read the article

  • Concours de développement ce week-end dans un train pour la Méditerranée ! Départs de Paris, Nantes, Bordeaux... et Marseille

    BeMyApp organise un concours de développement mobile? dans un train ! Passez le prochain Week-end sur les bords de la méditerranée. Départs de Paris, Marseille, Nantes et Bordeaux Les participants devront développer des applications mobiles touristiques en utilisant les données mises à disposition par Bouches-du-Rhône Tourisme, le département de la Gironde et de la LoireAtlantique, la SNCF ainsi que les données nationales de data.gouv.fr La 17ème édition des WeekEnds BeMyApp sera unique en son genre car en plus de devoir créer une application en 48h, les participants devront programmer dans des trains en direction de Mars...

    Read the article

  • Nouveaux cours officiels Microsoft pour devenir Développeur Web certifié sur Visual Studio 2010 en 18 jours, à partir du 14 mars

    Nouveaux cours officiels Microsoft pour devenir Développeur Web certifié sur Visual Studio 2010 En 18 jours, à partir du 14 mars prochain « Savoir développer avec le framework Microsoft .NET 4.0 des applications Web accédant à des données et utilisant des services WCF », voilà ce que propose, résumé en une phrase, la formation certifiée par Microsoft de Demos. Au menu, programmation C# et Visual Studio 2010 ? bien sûr ? mais aussi les solutions WCF, la sécurité, les solutions d'accès aux données, ADO.NET, IIS 7.0 ou MVC. Bref, une formation complète et solide qui s'adresse exclusivement aux développeurs Web professionnels. Ce pa...

    Read the article

  • Google tenterait de revenir sur le marché des jeux vidéos, quelles en seraient les conséquences ?

    Google tenterait de revenir sur le marché des jeux vidéos, quelles en seraient les conséquences ? Google a longtemps tenté de rester éloigné de l'industrie des jeux vidéos. La firme possédait pourtant Lively, un monde virtuel basé sur le navigateur qui pouvait être intégré à d'autres sites Internet et qui disparu en 2008. Depuis, plus rien dans ce domaine. Et pourtant, une annonce d'emploi publiée par Google évoque le souhait d'embauche d'un product management leader pour les jeux. L'offre stipule que la compagnie cherche un employé pour développer la stratégie de son commerce de produits de jeux et pour aider à "construire et organiser ce business avec une équipe cross-fonctionnelle". Aussi,...

    Read the article

  • Imagine Cup 2011 : présentation de la catégorie Développement Embarqué du concours de Microsoft pour les étudiants, inscriptions jusqu'au 27 janvier

    Imagine Cup 2011 : présentation de la catégorie Développement Embarqué Du concours de Microsoft pour les étudiants, inscriptions jusqu'au 27 janvier La désormais célèbre compétition de développement organisée par Microsoft pour les étudiants touche aussi au développement embarqué. Une catégorie exigeante mais dont les résultats peuvent être impressionnants. Dans cette catégorie, le but est de développer une application sur une plateforme Windows CE qui aura elle-même été adaptée aux besoins des candidats organisés en équipe de 1 à 4 membres (la présence d'un mentor est conseillée). Rappelons que les version Embedded de Windows sont particulièrement conçues pour être modulables et ...

    Read the article

  • WMI Remote Process Starting

    - by Goober
    Scenario I've written a WMI Wrapper that seems to be quite sufficient, however whenever I run the code to start a remote process on a server, I see the process name appear in the task manager but the process itself does not start like it should (as in, I don't see the command line log window of the process that prints out what it's doing etc.) The process I am trying to start is just a C# application executable that I have written. Below is my WMI Wrapper Code and the code I am using to start running the process. Question Is the process actually running? - Even if it is only displaying the process name in the task manager and not actually launching the application to the users window? Code To Start The Process IPHostEntry hostEntry = Dns.GetHostEntry("InsertServerName"); WMIWrapper wrapper = new WMIWrapper("Insert User Name", "Insert Password", hostEntry.HostName); List<Process> processes = wrapper.GetProcesses(); foreach (Process process in processes) { if (process.Caption.Equals("MyAppName.exe")) { Console.WriteLine(process.Caption); Console.WriteLine(process.CommandLine); int processId; wrapper.StartProcess("E:\\MyData\\Data\\MyAppName.exe", out processId); Console.WriteLine(processId.ToString()); } } Console.ReadLine(); WMI Wrapper Code using System; using System.Collections.Generic; using System.Management; using System.Runtime.InteropServices; using Common.WMI.Objects; using System.Net; namespace Common.WMIWrapper { public class WMIWrapper : IDisposable { #region Constructor /// <summary> /// Creates a new instance of the wrapper /// </summary> /// <param jobName="username"></param> /// <param jobName="password"></param> /// <param jobName="server"></param> public WMIWrapper(string server) { Initialise(server); } /// <summary> /// Creates a new instance of the wrapper /// </summary> /// <param jobName="username"></param> /// <param jobName="password"></param> /// <param jobName="server"></param> public WMIWrapper(string username, string password, string server) { Initialise(username, password, server); } #endregion #region Destructor /// <summary> /// Clean up unmanaged references /// </summary> ~WMIWrapper() { Dispose(false); } #endregion #region Initialise /// <summary> /// Initialise the WMI Connection (local machine) /// </summary> /// <param name="server"></param> private void Initialise(string server) { m_server = server; // set connection options m_connectOptions = new ConnectionOptions(); IPHostEntry host = Dns.GetHostEntry(Environment.MachineName); } /// <summary> /// Initialise the WMI connection /// </summary> /// <param jobName="username">Username to connect to server with</param> /// <param jobName="password">Password to connect to server with</param> /// <param jobName="server">Server to connect to</param> private void Initialise(string username, string password, string server) { m_server = server; // set connection options m_connectOptions = new ConnectionOptions(); IPHostEntry host = Dns.GetHostEntry(Environment.MachineName); if (host.HostName.Equals(server, StringComparison.OrdinalIgnoreCase)) return; m_connectOptions.Username = username; m_connectOptions.Password = password; m_connectOptions.Impersonation = ImpersonationLevel.Impersonate; m_connectOptions.EnablePrivileges = true; } #endregion /// <summary> /// Return a list of available wmi namespaces /// </summary> /// <returns></returns> public List<String> GetWMINamespaces() { ManagementScope wmiScope = new ManagementScope(String.Format("\\\\{0}\\root", this.Server), this.ConnectionOptions); List<String> wmiNamespaceList = new List<String>(); ManagementClass wmiNamespaces = new ManagementClass(wmiScope, new ManagementPath("__namespace"), null); ; foreach (ManagementObject ns in wmiNamespaces.GetInstances()) wmiNamespaceList.Add(ns["Name"].ToString()); return wmiNamespaceList; } /// <summary> /// Return a list of available classes in a namespace /// </summary> /// <param jobName="wmiNameSpace">Namespace to get wmi classes for</param> /// <returns>List of classes in the requested namespace</returns> public List<String> GetWMIClassList(string wmiNameSpace) { ManagementScope wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\{1}", this.Server, wmiNameSpace), this.ConnectionOptions); List<String> wmiClasses = new List<String>(); ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(wmiScope, new WqlObjectQuery("SELECT * FROM meta_Class"), null); foreach (ManagementClass wmiClass in wmiSearcher.Get()) wmiClasses.Add(wmiClass["__CLASS"].ToString()); return wmiClasses; } /// <summary> /// Get a list of wmi properties for the specified class /// </summary> /// <param jobName="wmiNameSpace">WMI Namespace</param> /// <param jobName="wmiClass">WMI Class</param> /// <returns>List of properties for the class</returns> public List<String> GetWMIClassPropertyList(string wmiNameSpace, string wmiClass) { List<String> wmiClassProperties = new List<string>(); ManagementClass managementClass = GetWMIClass(wmiNameSpace, wmiClass); foreach (PropertyData property in managementClass.Properties) wmiClassProperties.Add(property.Name); return wmiClassProperties; } /// <summary> /// Returns a list of methods for the class /// </summary> /// <param jobName="wmiNameSpace"></param> /// <param jobName="wmiClass"></param> /// <returns></returns> public List<String> GetWMIClassMethodList(string wmiNameSpace, string wmiClass) { List<String> wmiClassMethods = new List<string>(); ManagementClass managementClass = GetWMIClass(wmiNameSpace, wmiClass); foreach (MethodData method in managementClass.Methods) wmiClassMethods.Add(method.Name); return wmiClassMethods; } /// <summary> /// Retrieve the specified management class /// </summary> /// <param jobName="wmiNameSpace">Namespace of the class</param> /// <param jobName="wmiClass">Type of the class</param> /// <returns></returns> public ManagementClass GetWMIClass(string wmiNameSpace, string wmiClass) { ManagementScope wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\{1}", this.Server, wmiNameSpace), this.ConnectionOptions); ManagementClass managementClass = null; ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(wmiScope, new WqlObjectQuery(String.Format("SELECT * FROM meta_Class WHERE __CLASS = '{0}'", wmiClass)), null); foreach (ManagementClass wmiObject in wmiSearcher.Get()) managementClass = wmiObject; return managementClass; } /// <summary> /// Get an instance of the specficied class /// </summary> /// <param jobName="wmiNameSpace">Namespace of the classes</param> /// <param jobName="wmiClass">Type of the classes</param> /// <returns>Array of management classes</returns> public ManagementObject[] GetWMIClassObjects(string wmiNameSpace, string wmiClass) { ManagementScope wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\{1}", this.Server, wmiNameSpace), this.ConnectionOptions); List<ManagementObject> wmiClasses = new List<ManagementObject>(); ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(wmiScope, new WqlObjectQuery(String.Format("SELECT * FROM {0}", wmiClass)), null); foreach (ManagementObject wmiObject in wmiSearcher.Get()) wmiClasses.Add(wmiObject); return wmiClasses.ToArray(); } /// <summary> /// Get a full list of services /// </summary> /// <returns></returns> public List<Service> GetServices() { return GetService(null); } /// <summary> /// Get a list of services /// </summary> /// <returns></returns> public List<Service> GetService(string name) { ManagementObject[] services = GetWMIClassObjects("CIMV2", "WIN32_Service"); List<Service> serviceList = new List<Service>(); for (int i = 0; i < services.Length; i++) { ManagementObject managementObject = services[i]; Service service = new Service(managementObject); service.Status = (string)managementObject["Status"]; service.Name = (string)managementObject["Name"]; service.DisplayName = (string)managementObject["DisplayName"]; service.PathName = (string)managementObject["PathName"]; service.ProcessId = (uint)managementObject["ProcessId"]; service.Started = (bool)managementObject["Started"]; service.StartMode = (string)managementObject["StartMode"]; service.ServiceType = (string)managementObject["ServiceType"]; service.InstallDate = (string)managementObject["InstallDate"]; service.Description = (string)managementObject["Description"]; service.Caption = (string)managementObject["Caption"]; if (String.IsNullOrEmpty(name) || name.Equals(service.Name, StringComparison.OrdinalIgnoreCase)) serviceList.Add(service); } return serviceList; } /// <summary> /// Get a list of processes /// </summary> /// <returns></returns> public List<Process> GetProcesses() { return GetProcess(null); } /// <summary> /// Get a list of processes /// </summary> /// <returns></returns> public List<Process> GetProcess(uint? processId) { ManagementObject[] processes = GetWMIClassObjects("CIMV2", "WIN32_Process"); List<Process> processList = new List<Process>(); for (int i = 0; i < processes.Length; i++) { ManagementObject managementObject = processes[i]; Process process = new Process(managementObject); process.Priority = (uint)managementObject["Priority"]; process.ProcessId = (uint)managementObject["ProcessId"]; process.Status = (string)managementObject["Status"]; DateTime createDate; if (ConvertFromWmiDate((string)managementObject["CreationDate"], out createDate)) process.CreationDate = createDate.ToString("dd-MMM-yyyy HH:mm:ss"); process.Caption = (string)managementObject["Caption"]; process.CommandLine = (string)managementObject["CommandLine"]; process.Description = (string)managementObject["Description"]; process.ExecutablePath = (string)managementObject["ExecutablePath"]; process.ExecutionState = (string)managementObject["ExecutionState"]; process.MaximumWorkingSetSize = (UInt32?)managementObject ["MaximumWorkingSetSize"]; process.MinimumWorkingSetSize = (UInt32?)managementObject["MinimumWorkingSetSize"]; process.KernelModeTime = (UInt64)managementObject["KernelModeTime"]; process.ThreadCount = (UInt32)managementObject["ThreadCount"]; process.UserModeTime = (UInt64)managementObject["UserModeTime"]; process.VirtualSize = (UInt64)managementObject["VirtualSize"]; process.WorkingSetSize = (UInt64)managementObject["WorkingSetSize"]; if (processId == null || process.ProcessId == processId.Value) processList.Add(process); } return processList; } /// <summary> /// Start the specified process /// </summary> /// <param jobName="commandLine"></param> /// <returns></returns> public bool StartProcess(string command, out int processId) { processId = int.MaxValue; ManagementClass processClass = GetWMIClass("CIMV2", "WIN32_Process"); object[] objectsIn = new object[4]; objectsIn[0] = command; processClass.InvokeMethod("Create", objectsIn); if (objectsIn[3] == null) return false; processId = int.Parse(objectsIn[3].ToString()); return true; } /// <summary> /// Schedule a process on the remote machine /// </summary> /// <param name="command"></param> /// <param name="scheduleTime"></param> /// <param name="jobName"></param> /// <returns></returns> public bool ScheduleProcess(string command, DateTime scheduleTime, out string jobName) { jobName = String.Empty; ManagementClass scheduleClass = GetWMIClass("CIMV2", "Win32_ScheduledJob"); object[] objectsIn = new object[7]; objectsIn[0] = command; objectsIn[1] = String.Format("********{0:00}{1:00}{2:00}.000000+060", scheduleTime.Hour, scheduleTime.Minute, scheduleTime.Second); objectsIn[5] = true; scheduleClass.InvokeMethod("Create", objectsIn); if (objectsIn[6] == null) return false; UInt32 scheduleid = (uint)objectsIn[6]; jobName = scheduleid.ToString(); return true; } /// <summary> /// Returns the current time on the remote server /// </summary> /// <returns></returns> public DateTime Now() { ManagementScope wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\{1}", this.Server, "CIMV2"), this.ConnectionOptions); ManagementClass managementClass = null; ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(wmiScope, new WqlObjectQuery(String.Format("SELECT * FROM Win32_LocalTime")), null); DateTime localTime = DateTime.MinValue; foreach (ManagementObject time in wmiSearcher.Get()) { UInt32 day = (UInt32)time["Day"]; UInt32 month = (UInt32)time["Month"]; UInt32 year = (UInt32)time["Year"]; UInt32 hour = (UInt32)time["Hour"]; UInt32 minute = (UInt32)time["Minute"]; UInt32 second = (UInt32)time["Second"]; localTime = new DateTime((int)year, (int)month, (int)day, (int)hour, (int)minute, (int)second); }; return localTime; } /// <summary> /// Converts a wmi date into a proper date /// </summary> /// <param jobName="wmiDate">Wmi formatted date</param> /// <returns>Date time object</returns> private static bool ConvertFromWmiDate(string wmiDate, out DateTime properDate) { properDate = DateTime.MinValue; string properDateString; // check if string is populated if (String.IsNullOrEmpty(wmiDate)) return false; wmiDate = wmiDate.Trim().ToLower().Replace("*", "0"); string[] months = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; try { properDateString = String.Format("{0}-{1}-{2} {3}:{4}:{5}.{6}", wmiDate.Substring(6, 2), months[int.Parse(wmiDate.Substring(4, 2)) - 1], wmiDate.Substring(0, 4), wmiDate.Substring(8, 2), wmiDate.Substring(10, 2), wmiDate.Substring(12, 2), wmiDate.Substring(15, 6)); } catch (InvalidCastException) { return false; } catch (ArgumentOutOfRangeException) { return false; } // try and parse the new date if (!DateTime.TryParse(properDateString, out properDate)) return false; // true if conversion successful return true; } private bool m_disposed; #region IDisposable Members /// <summary> /// Managed dispose /// </summary> public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } /// <summary> /// Dispose of managed and unmanaged objects /// </summary> /// <param jobName="disposing"></param> public void Dispose(bool disposing) { if (disposing) { m_connectOptions = null; } } #endregion #region Properties private ConnectionOptions m_connectOptions; /// <summary> /// Gets or sets the management scope /// </summary> private ConnectionOptions ConnectionOptions { get { return m_connectOptions; } set { m_connectOptions = value; } } private String m_server; /// <summary> /// Gets or sets the server to connect to /// </summary> public String Server { get { return m_server; } set { m_server = value; } } #endregion } }

    Read the article

< Previous Page | 192 193 194 195 196 197 198 199 200 201 202 203  | Next Page >