Como visualizar o nível de carga da bateria?
+2
AndyShow
GameDeveloper56
6 participantes
Página 1 de 1
Como visualizar o nível de carga da bateria?
Olá pessoal,
Estou construindo um sistema para poder verificar as informações da sua máquina, como data e hora, sem ter que minimizar o jogo ou usá-lo em modo janela.
Acabei tendo a ideia de incluir também o nível de carga da bateria, no caso de um notebook, por exemplo. Porém não encontrei nada que resolvesse meu problema. Fiz várias pesquisas e só o que encontro sobre o assunto é sobre visualizar o nível de carga em dispositivos Android e iOS, mas queria poder visualizar em notebooks também.
Quem souber algo sobre o assunto, por favor me ajude.
Estou construindo um sistema para poder verificar as informações da sua máquina, como data e hora, sem ter que minimizar o jogo ou usá-lo em modo janela.
Acabei tendo a ideia de incluir também o nível de carga da bateria, no caso de um notebook, por exemplo. Porém não encontrei nada que resolvesse meu problema. Fiz várias pesquisas e só o que encontro sobre o assunto é sobre visualizar o nível de carga em dispositivos Android e iOS, mas queria poder visualizar em notebooks também.
Quem souber algo sobre o assunto, por favor me ajude.
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Pior que não Faço idéia!
Mas Será que é Necessário mesmo??
pois quando se Joga com Notebook Normalmente o Cabo de Força está Conectado, pois o Rendimento de um Note pra Jogo só com Cabo Conectado,ou a Bateria nem Dura 15 min!
Sei lá eu Deixava pra lá!
Opinião Minha!
Mas Será que é Necessário mesmo??
pois quando se Joga com Notebook Normalmente o Cabo de Força está Conectado, pois o Rendimento de um Note pra Jogo só com Cabo Conectado,ou a Bateria nem Dura 15 min!
Sei lá eu Deixava pra lá!
Opinião Minha!
Re: Como visualizar o nível de carga da bateria?
Sla, mas serve pra conhecimento próprio também, por mais que talvez não tenha utilidade no momento, talvez seja importante futuramente. Não gosto de ficar com esse tipo de dúvida.AndyShow escreveu:Pior que não Faço idéia!
Mas Será que é Necessário mesmo??
pois quando se Joga com Notebook Normalmente o Cabo de Força está Conectado, pois o Rendimento de um Note pra Jogo só com Cabo Conectado,ou a Bateria nem Dura 15 min!
Sei lá eu Deixava pra lá!
Opinião Minha!
Vou continuar pesquisando.
Se alguém mais souber sobre o assunto, agradeço desde já
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
você tem que adicionar a referencia do namespace System.Windows.Forms;
faça uma variável do tipo PowerStatus e passe as informação desejada que no caso e o status da bateria
depois acesse BatteryLifePercent e pronto :D
faça uma variável do tipo PowerStatus e passe as informação desejada que no caso e o status da bateria
depois acesse BatteryLifePercent e pronto :D
- Código:
using System;
using System.Windows.Forms;
public class Battery
{
public void PowerStatus()
{
PowerStatus status = SystemInformation.PowerStatus;
Console.WriteLine(status.BatteryLifePercent.ToString("P0"));
}
}
Última edição por weslleyFx em Sáb Ago 06, 2016 12:09 am, editado 1 vez(es)
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
haha Sabia que o Weslley ia Matar essa ,Esse é o Cara! hehe
Re: Como visualizar o nível de carga da bateria?
Agradeço a sua atenção, mas não consigo fazer referência ao namespace em questão, sempre recebo a mensagem de que "Windows" não está presente no namaspace "System". Você sabe como resolver isso?weslleyFx escreveu:você tem que adicionar a referencia do namespace System.Windows.Forms;
faça uma variável do tipo PowerStatus e passe as informação desejada que no caso e o status da bateria
depois acesse BatteryLifePercent e pronto :D
- Código:
using System;
using System.Windows.Forms;
public class Battery
{
public void ShowPowerStatus()
{
PowerStatus status = SystemInformation.PowerStatus;
Console.WriteLine(status.BatteryLifePercent.ToString("P0"));
}
}
Obs: Estou utilizando a versão 5.3.4f1 do Unity, e utilizo o Visual Studio para editar os scripts.
Obrigado!
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Qual editor você esta usando ?
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Visual Studio Community (ele é instalado junto com Unity 5.3).weslleyFx escreveu:Qual editor você esta usando ?
Mas o erro também aparece no console do Unity
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
No visual studio va na aba dos scripts la tem a parte de referências (reference) clique com o botão direito do mouse e click em add referece procure por System.Windows.Forms marque a caixinha e de ok pronto :D
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
caraca eu tambem nao tenho esse namespace
edit:
Acho q deve ter aver com a versao do .NET Framework.
https://msdn.microsoft.com/pt-br/library/system.windows.forms(v=vs.110).aspx
edit:
Acho q deve ter aver com a versao do .NET Framework.
https://msdn.microsoft.com/pt-br/library/system.windows.forms(v=vs.110).aspx
Última edição por luKkaSs em Sáb Ago 06, 2016 12:31 am, editado 2 vez(es)
luKkaSs- MembroAvançado
- PONTOS : 3353
REPUTAÇÃO : 19
Idade : 28
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Agradeço de mais a sua ajuda. No Visual Studio o erro sumiu, porém no Unity não. Ele ainda aponta o erro e não deixa iniciar o jogo.weslleyFx escreveu:No visual studio va na aba dos scripts la tem a parte de referências (reference) clique com o botão direito do mouse e click em add referece procure por System.Windows.Forms marque a caixinha e de ok pronto :D
Mas mesmo assim, muito obrigado!
Espero novas instruções
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
O.O eitah, até dei uma procurada, mas realmente não consegui achar como adicionar referências externas no MonoDevelop.
Re: Como visualizar o nível de carga da bateria?
Para adicionar referencias manualmente basta copiar a DLL que quer usar para uma pasta chamada Plugins que deve estar na pasta raiz do seu projeto. Entao cria uma e joga la. Vai em File > Build Settings (CTRL_SHIFT_B) > Player Settings > Optimization e deixe .NET 2.0 em API Compatibility Level. Não deixe .NET 2.0 Subs pois irá dar erro na hora de compilar.
Teste.
Infelizmente pra mim não havia uma classe PowerStatus na system.windows.forms que baixei. Enfim, teste ai.
Teste.
Infelizmente pra mim não havia uma classe PowerStatus na system.windows.forms que baixei. Enfim, teste ai.
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Testei e parou de dar erro.RenanMSV escreveu:Para adicionar referencias manualmente basta copiar a DLL que quer usar para uma pasta chamada Plugins que deve estar na pasta raiz do seu projeto. Entao cria uma e joga la. Vai em File > Build Settings (CTRL_SHIFT_B) > Player Settings > Optimization e deixe .NET 2.0 em API Compatibility Level. Não deixe .NET 2.0 Subs pois irá dar erro na hora de compilar.
Teste.
Infelizmente pra mim não havia uma classe PowerStatus na system.windows.forms que baixei. Enfim, teste ai.
Tudo funcionando!!!!
Eu peguei a dll nesse local "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll" que é onde fica o .NET, mas pra funcionar tive que pegar outro arquivo que tem o mesmo nome, porém com extensão diferente (".tlb"), que fica na mesma pasta.
Então criei a pasta "Plugins" na pasta mais externa que aparece na aba project e coloquei os dois arquivos lá.
Tomando o script do amigo weslleyFx como referência, fiz um script assim:
- Código:
using UnityEngine;
using System.Windows.Forms;
public class BatteryChargeStatus : MonoBehaviour
{
public float Charge;
void FixedUpdate ()
{
ShowPowerStatus();
}
void ShowPowerStatus()
{
PowerStatus status = SystemInformation.PowerStatus;
//o valor é apresentado em números de 0 até 1, por isso multipliquei por 100
Charge = (status.BatteryLifePercent) * 100;
}
}
Muuito obrigado a todos!! :D
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Obrigado por compartilhar a solução
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
E nessas horas que eu vejo que ainda não sei nada O.o
Re: Como visualizar o nível de carga da bateria?
O melhor de tudo é que além resolver meu problema, aprendi que posso utilizar as DLLs do .NET nos meus projetos, o que facilita muito, tendo em vista que eu também programo com Visual Studio além de Unity.
Última edição por GameDeveloper56 em Sáb Ago 06, 2016 5:26 pm, editado 1 vez(es)
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Como assim não resolveu?
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Resolvi sim, mas além disso entendi que posso usar alguns recursos que uso no Visual Studio no UnityweslleyFx escreveu:Como assim não resolveu?
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Tranquilo , acho que eu tinha me expressado mal. Editei a mensagem pra ficar mais compreensível.weslleyFx escreveu:Ah desculpe interpretei de forma errada
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
GameDeveloper56 escreveu:O melhor de tudo é que além resolver meu problema, aprendi que posso utilizar as DLLs do .NET nos meus projetos, o que facilita muito, tendo em vista que eu também programo com Visual Studio além de Unity.
kkkkk, foi exatamente isto que eu também aprendi com este tópico...
Acho que to aprendendo mais com o meu fórum do que as pessoas que usam. Tem gente que manja de programação aqui no fórum que me faz passar vergonha, ehueheueheuhe
Re: Como visualizar o nível de carga da bateria?
Galera, Acabei de perceber um problema.
Tudo funciona perfeitamente, porém somente no Unity. Ao tentar compilar ele retorna um erro dizendo que não é possível exportar a dll que foi adicionada ("System.Windows.Forms.dll"), por não possuir permissão ou por não conseguir localizá-la.
Se alguem souber como resolver isso, agradeço muito!
Tudo funciona perfeitamente, porém somente no Unity. Ao tentar compilar ele retorna um erro dizendo que não é possível exportar a dll que foi adicionada ("System.Windows.Forms.dll"), por não possuir permissão ou por não conseguir localizá-la.
Se alguem souber como resolver isso, agradeço muito!
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
GameDeveloper56 escreveu:Galera, Acabei de perceber um problema.
Tudo funciona perfeitamente, porém somente no Unity. Ao tentar compilar ele retorna um erro dizendo que não é possível exportar a dll que foi adicionada ("System.Windows.Forms.dll"), por não possuir permissão ou por não conseguir localizá-la.
Se alguem souber como resolver isso, agradeço muito!
Tambem ne dll do windows sao protegidas. mudas as permissoes pra controle total deve resouver!
https://s04.justpaste.it/files/justpaste/d331/a12559668/screenshot_20160808232756.png
luKkaSs- MembroAvançado
- PONTOS : 3353
REPUTAÇÃO : 19
Idade : 28
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Essa opção está bloqueadaluKkaSsTambem ne dll do windows sao protegidas. mudas as permissoes pra controle total deve resouver! escreveu:https://s04.justpaste.it/files/justpaste/d331/a12559668/screenshot_20160808232756.png
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
GameDeveloper56 escreveu:Essa opção está bloqueadaluKkaSsTambem ne dll do windows sao protegidas. mudas as permissoes pra controle total deve resouver! escreveu:https://s04.justpaste.it/files/justpaste/d331/a12559668/screenshot_20160808232756.png
SIM
Por isso q n funciona!
clica em avançado
ai la em cima tem o proprietario. vc clica em alterar
vai abrir uma caixinha vc clica em avançado!
ai abre outra vc clica em localizar agora!
ai vc seleciona administradores !
da OK
OK dnv!
aplicar e ok!
ai so ir em editar e marcar controle total!
so nao sei em qual grupo a unity se encaixa, mas acho q em em sistema!
entendeu?
luKkaSs- MembroAvançado
- PONTOS : 3353
REPUTAÇÃO : 19
Idade : 28
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
luKkaSs escreveu:GameDeveloper56 escreveu:Essa opção está bloqueadaluKkaSsTambem ne dll do windows sao protegidas. mudas as permissoes pra controle total deve resouver! escreveu:https://s04.justpaste.it/files/justpaste/d331/a12559668/screenshot_20160808232756.png
SIM
Por isso q n funciona!
clica em avançado
ai la em cima tem o proprietario. vc clica em alterar
vai abrir uma caixinha vc clica em avançado!
ai abre outra vc clica em localizar agora!
ai vc seleciona administradores !
da OK
OK dnv!
aplicar e ok!
ai so ir em editar e marcar controle total!
so nao sei em qual grupo a unity se encaixa, mas acho q em em sistema!
entendeu?
Entendi sim, mudei as permissões tanto da dll na pasta original, quanto na que está no meu projeto, mas infelizmente, não resolveu, ainda não consigo compilar.
Mas mesmo assim obrigado
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
O erro que aparece é este:
ArgumentException: The Assembly System.Deployment is referenced by System.Windows.Forms ('Assets/Plugins/System.Windows.Forms.dll'). But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:147)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:153)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:185)
UnityEditor.HostView:OnGUI()
Apareceu um outro erro também com relação a permissões, mas quando tentei compilar outra vez parou de aparecer.
ArgumentException: The Assembly System.Deployment is referenced by System.Windows.Forms ('Assets/Plugins/System.Windows.Forms.dll'). But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:147)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:153)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:185)
UnityEditor.HostView:OnGUI()
Apareceu um outro erro também com relação a permissões, mas quando tentei compilar outra vez parou de aparecer.
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
RenanMsV escreveu:
Vai em File > Build Settings (CTRL_SHIFT_B) > Player Settings > Optimization e deixe .NET 2.0 em API Compatibility Level. Não deixe .NET 2.0 Subs pois irá dar erro na hora de compilar.
Exportei a dll em questão no meu projeto normalmente. E usei para chamar uma MessageBox
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Fiz exatamente isso, deixei em .NET 2.0, mas mesmo assimnão está funcionando.RenanMSV escreveu:RenanMsV escreveu:
Vai em File > Build Settings (CTRL_SHIFT_B) > Player Settings > Optimization e deixe .NET 2.0 em API Compatibility Level. Não deixe .NET 2.0 Subs pois irá dar erro na hora de compilar.
Exportei a dll em questão no meu projeto normalmente. E usei para chamar uma MessageBox
A dll que você usou foi a que você disse que tinha baixado ou é a que tem lá na pasta "C:\Windows\...alguma coisa"?
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Fiz isso, mas mesmo assim não funcionou. Tentei até trocar a dll por uma de outra versão do .NET, mas as do .NET 1.0 não tem as propriedades da bateria e as do .NET 4.0 geram erros por não serem aceitas (Acho que é porque o Unity só aceita até o .NET 2.0).RenanMSV escreveu:Ja tentou retirar a referencia do visual studio?
Achei algumas coisas com relação ao meu problema nos fóruns do site da Unity, mas nada resolveu.
Já tentei:
- Reimportar todos os assets (Assets > Reimport all);
- Trocar a versão do .NET;
- Mudar o api de .NET 2.0 sub para .NET 2.0 e vice-versa.
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Acheeeei!!!!
Depois de algumas horas quebrando a cabeça, parei para observar o erro que o Unity exibia novamente, então percebi que eu precisava de outra dll, System.Deployment ("C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Deployment.dll")
Aí só adicionei ela na pasta plugins, juntamente com System.Windows.Forms.
Tudo está funcionando. Compilei o projeto e está exatamente como eu queria.
Agradeço a todos!
Depois de algumas horas quebrando a cabeça, parei para observar o erro que o Unity exibia novamente, então percebi que eu precisava de outra dll, System.Deployment ("C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Deployment.dll")
Aí só adicionei ela na pasta plugins, juntamente com System.Windows.Forms.
Tudo está funcionando. Compilei o projeto e está exatamente como eu queria.
Agradeço a todos!
GameDeveloper56- Membro
- PONTOS : 3266
REPUTAÇÃO : 12
Idade : 26
Áreas de atuação : Programação em C#
Respeito as regras :
Re: Como visualizar o nível de carga da bateria?
Após mexer um poquinho achei como colocar referencias no Monodevelop.
Segue imagens:
Segue imagens:
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como faço para clicar em um objeto e visualizar, girar...
» SISTEMA DE CARGA
» [DÚVIDA] SISTEMA DE CARGA ESTILO ETS 2, HTS, GTS. {JOGO DE CAMINHÃO}
» é Possivel visualizar uma Variavel Estatica no Inspector ?
» [DÚVIDA] FAZER JOGO DE BATERIA?
» SISTEMA DE CARGA
» [DÚVIDA] SISTEMA DE CARGA ESTILO ETS 2, HTS, GTS. {JOGO DE CAMINHÃO}
» é Possivel visualizar uma Variavel Estatica no Inspector ?
» [DÚVIDA] FAZER JOGO DE BATERIA?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos