小编Jer*_*emy的帖子

SetConsoleCtrlHandler例程问题

我正在用C++编写一个控制台应用程序.

我使用SetConsoleCtrlHandler来捕获close和CTRL + C按钮.这允许我的所有线程停止并正确退出.

其中一个线程执行一些保存,需要一些时间来完成,我有一些代码在控制台crtl句柄例程中等待.MSDN指定CTRL_CLOSE_EVENT在5秒后弹出一个框,但我的进程退出.

这对于调试控制台应用程序也很烦人,因为在您可以单步执行之前进程退出并且我不知道可能是什么问题(我有Windows 7 64位).

另外,奇怪的是如果我的例程返回TRUE(只是禁用关闭操作),它仍然会关闭应用程序.该例程会被调用,因此SetConsoleCtrlHandler已成功安装.

例如:

BOOL WINAPI ConsoleHandlerRoutine(DWORD dwCtrlType)
{
    if (dwCtrlType == CTRL_CLOSE_EVENT)
    {
        return TRUE;
    }

    return FALSE;
}

int _tmain(int argc, _TCHAR* argv[])
{
    BOOL ret = SetConsoleCtrlHandler(ConsoleHandlerRoutine, TRUE);

    while (true)
    {
        Sleep(1000);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ windows console-application

19
推荐指数
1
解决办法
2万
查看次数

使用GMail API发送时,如何检测发送配额?

使用client.discovered_api('gmail', 'v1'),我正在使用该gmail.users.messages.send功能发送电子邮件

它可以很好地发送我的消息,但是当超过电子邮件的配额时,没有错误.

我收到200 OK,一切都很好看.

"id": "15289b1d6b652c17", "threadId": "15289b1d6b652c17","labelIds": ["SENT"]
Run Code Online (Sandbox Code Playgroud)

但对于配额以上的每条消息,我收到一封来自Bounce的电子邮件(nobody@gmail.com)告诉我:

您已达到发送邮件的限制.

这个页面说我应该收到429 error code,但我没有收到.

什么可能出错?或者,如果有办法查询配额?

编辑:经过调查,即使收到来自任何人的电子邮件告诉我已达到配额,仍然会发送原始电子邮件(这意味着可以以接收许多无人电子邮件为代价来超过配额).

Edit2:我在他们的API页面上报告了一个问题,但仍然没有听到任何人的任何消息.缺乏回应令人困惑.

编辑3:原来他们的解决方案刚刚被设计破坏了.更新配额有延迟(可能超过30分钟......您可以在30分钟内发送大量电子邮件),因此它允许您发送并在告知您的用户之后您的消息未发送(虽然它可能有,但我做了测试.完全不可靠.弹跳中没有信息可以确定哪些消息实际被拒绝.当您代表用户发送100封电子邮件广告系列时,这不起作用.

gmail-api

9
推荐指数
1
解决办法
1102
查看次数

从 GMail Web 界面查找 api 消息 ID

查看 GMail 消息时,URL 过去仅包含消息 ID,然后我可以使用 GMail API 轻松查询该消息 ID。

例如,当查看电子邮件时,URL 类似于

https://mail.google.com/mail/u/1/#inbox/167d7bc198aa3059
Run Code Online (Sandbox Code Playgroud)

这对于特定电子邮件的开发和调试问题很方便。我可以使用 167d7bc198aa3059 调用 get_user_message

但现在,相同的 URL 可以这样表示:

https://mail.google.com/mail/u/1/#inbox/WhctKJVJZkbrQVvLJqnhlZMQRckHrPbrhZMXXWzVswzckGCcRjQSZzjsPwcfhsDNXsFTDTG
Run Code Online (Sandbox Code Playgroud)

如何从新的 GMail URL 格式中找到要在 API 上查询的消息 ID?

或者是否有一个简单的编码/解码来转换

WhctKJVJZkbrQVvLJqnhlZMQRckHrPbrhZMXXWzVswzckGCcRjQSZzjsPwcfhsDNXsFTDTG
Run Code Online (Sandbox Code Playgroud)

进入

167d7bc198aa3059
Run Code Online (Sandbox Code Playgroud)

gmail gmail-api

7
推荐指数
1
解决办法
1503
查看次数

如何更新/更改另一个字段?

我想让另一个领域的领域得到解决.

我有一个根据一些参数生成的列表,并希望更新总字段

我的方法可能不正确.

显然,我试图避免重新运行相同的数据库查询并在查询字符串中传递过滤器.

因此,为我的查询假设以下ruby类型:

Types::PostListType = GraphQL::ObjectType.define do
    name 'PostList'

    field :total, !types.Int, default_value: 0 # <-- this is what I'd like to update in :posts resolution
    field :page, !types.Int, default_value: 0 # <-- this is what I'd like to update in :posts resolution
    field :per_page, !types.Int, default_value: 0 # <-- this is what I'd like to update in :posts resolution

    field :posts, types[Types::PostType] do
        argument :page, types.Int, default_value: 1
        argument :per_page, types.Int, default_value: 10 # <-- also need …
Run Code Online (Sandbox Code Playgroud)

ruby graphql graphql-ruby

6
推荐指数
1
解决办法
133
查看次数

如何使用Watir(Ruby)从非可见元素中读取文本?

页面上有一个div不可见,但有一些我想要捕获的值.在它上面调用文本会返回一个空字符串.

如何在不处理原始html的情况下显示值?无论浏览器中文本的可见性如何,我都可以强制.text返回实际值吗?

irb(main):1341:0> d.first.visible?
=> false

irb(main):1344:0> d.first.html
=> "<div class=\"day\">7</div>"

irb(main):1345:0> d.first.text
=> ""
Run Code Online (Sandbox Code Playgroud)

PS:有很多div(页面缓存响应并相应地显示它们).我考虑更改所有显示:在页面中没有或点击使它们可见但我希望尽可能避免这种情况.如果不可能,改变所有显示器的解决方案都不是首选的解决方法.

PPS:诅咒,我试图超载可见?Watir :: Element类中的方法总是返回true,但是没有做到这一点.

irb(main):1502:0> d.first.visible?
=> true

irb(main):1504:0> d.first.text
=> ""
Run Code Online (Sandbox Code Playgroud)

ruby watir watir-webdriver

5
推荐指数
1
解决办法
2026
查看次数

Rails form_for 操作的语言环境已损坏

我有一个帐户仪表板,其中列出了办公室以及每个办公室的可用职位。

等级制度:

  • 公司(1 个用户有 1 个公司,如果从用户个人资料中访问)
  • 办事处(每个公司可以有多个办事处)
  • 职位(每个办公室可以有多个职位)

楷模:

class Company < ActiveRecord::Base
  has_many :offices, :dependent => :destroy
  has_many :jobs, :through => :offices

class Office < ActiveRecord::Base
  belongs_to :company
  has_many :jobs, :dependent => :destroy

class Job < ActiveRecord::Base
  belongs_to :office
Run Code Online (Sandbox Code Playgroud)

对于每份工作,我都有一个编辑链接

例如,对于作业 ID 10(作业是办公室作业迭代中的局部变量)

= link_to edit_job_path(I18n.locale, 工作)

- >本地主机:3000 / de / jobs / 10 /编辑

当我单击编辑链接时,我会转到编辑页面。到目前为止一切顺利,但形式看起来像这样:

<form accept-charset="UTF-8" action="/10/jobs/10" class="edit_job" enctype="multipart/form-data" id="edit_job_10" method="post">
Run Code Online (Sandbox Code Playgroud)

请注意,我的区域设置(本例中为 de)消失了,取而代之的是作业 ID!

我的路线.rb

scope "/:locale" do
    resources :companies
    resources :offices do
            resources :jobs
    end …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3 ruby-on-rails-3.2

5
推荐指数
1
解决办法
1037
查看次数

C# TreeView 中节点的可变高度

尽管我在谷歌上进行了努力,但我找不到使用默认 .NET 树视图并为该树视图中的每个节点设置可变高度的解决方案。

我需要一种拥有两种不同高度的节点的方法。

理想情况下,我还希望当鼠标悬停在一种节点类型上时它也可以变得更大。

周围有聪明人吗?:)

c# treeview winforms

4
推荐指数
1
解决办法
7599
查看次数