Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2020
bismarck_sierra bismarck_sierra is offline
Miembro
 
Registrado: ene 2004
Ubicación: Morelia, Michoacán, México
Posts: 70
Poder: 21
bismarck_sierra Va por buen camino
Cómo renombrar impresora

Que tal

Les comparto la solución para cambiar el nombre de una impresora que no encontraba la información en internet y gracias al grupo de WhatsApp Delphi en Español (https://chat.whatsapp.com/KZkM9d8k8gQ8u30a085y6k) donde nuestro bien conocido amigo Juan Antonio Castillo (https://jachguate.wordpress.com/) me apoyó a encontrar la forma de hacerlo.

Código Delphi [-]
uses
  System.Variants, System.SysUtils, Winapi.ActiveX, System.Win.ComObj, WinSpool, Windows;

function RenombrarImpresora(ANombreActual, ANombreNuevo : string) : boolean;
var
  lHandle         : THandle;
  lpPrinterInfo   : PPrinterInfo2;
  lPrinterDefault : TPrinterDefaults;
  lSize           : DWORD;
begin
  Result := False;
  lPrinterDefault.pDatatype := nil;
  lPrinterDefault.pDevMode := nil;
  lPrinterDefault.DesiredAccess := PRINTER_ALL_ACCESS;
  if OpenPrinter(PChar(ANombreActual), lHandle, @lPrinterDefault) then
  begin
    try
      lSize := 0;
      GetPrinter(lHandle, 2, nil, lSize, @lSize);
      lpPrinterInfo := AllocMem(lSize);
      try
        if not GetPrinter(lHandle, 2, lpPrinterInfo, lSize, @lSize) then
          RaiseLastOSError;
        lpPrinterInfo.pPrinterName := PChar(ANombreNuevo);
        if not SetPrinter(lHandle, 2, lpPrinterInfo, 0) then
          RaiseLastOSError;
      finally
        FreeMem(lpPrinterInfo);
      end;
      Result := true;
    finally
      ClosePrinter(lHandle);
    end;
  end
  else
    RaiseLastOSError;
end;

Saludos
Bismarck
Responder Con Cita
  #2  
Antiguo 06-09-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
  #3  
Antiguo 06-09-2020
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cita:
Empezado por bismarck_sierra Ver Mensaje
Que tal
donde nuestro bien conocido amigo Juan Antonio Castillo
Hombre Bismark, gracias por el crédito. Buen pretexto para dar una vuelta por el Club, a dónde no venía hace un buen tiempo. Ah, cuantos recuerdos... ¡un saludo a todos por acá!
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 06-09-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
¡ Muchas gracias por el aporte !

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 07-09-2020
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Gracias, Bismarck. Veo que ahí lo llevas.

Esto le puede servir a mucha gente.

Tono: Un placer leerte de nuevo. Por cierto, ahora estoy un poco más cerca de tu país.

Un abrazo por los buenos tiempos.
Responder Con Cita
  #6  
Antiguo 07-09-2020
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Tono: Un placer leerte de nuevo. Por cierto, ahora estoy un poco más cerca de tu país.

Un abrazo por los buenos tiempos.
Igualmente Al, tiempo sin saber de tí. ¿Por donde andas?

Un saludo cordial.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 07-09-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola.
Veo que el tema ya está solucionado, aun así comenar que el cambio de nombre (al igual que otras operaciones) también se puede hacer a través de WMI.
La clase que permite hacerlo es Win32_Printer.

Uno de los métodos de que dispone es el método RenamePrinter.

La librería GLibWMI dispone de un componente para hacerlo y una de las demos es precísamente sobre esta clase y haciendo funciona ese método (por si interesa).

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo visualizar, renombrar o borrar archivos jpg? gaston2331 Gráficos 1 02-02-2013 01:29:26
¿cómo desvanecer o renombrar el proceso de mi aplicacion? jeremiselxi Varios 51 28-11-2008 18:05:55
como accesar depues renombrar campos SQL vroa74 SQL 1 23-10-2007 09:59:48
Como renombrar un directorio Jose Manuel API de Windows 1 29-09-2004 19:52:40
Renombrar Tablas mapner Firebird e Interbase 3 17-05-2004 17:23:25


La franja horaria es GMT +2. Ahora son las 21:36:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi